abstract vector