use Vec2D or Vec3D