vector generation