Changed Vector2 to use doubles instead of floats and added an additional constructor