add more vector constructors