Added Vector2 implementation, changed everything to use it