my own Vector2f for interoperability with other vectors