Finish most of vector class, can do the rest later