for vector3D