update?
update?
vector generation