modifed vec3 constructor