now implement new vector data structure