vectors and factories