Improve vector2d and vector3d