New abstract vector implementation