completed vector class