first incarnation of vector, needs testing