Fixed up a dumb implementation
Added a Vector2D class