added a level of indirection to vectors