vector implementation completed