updated public functions to use Vector2 instead Vec2