add vector constructer