basic version
add vector constructor