#5: introduce AbstractCreateVectors