updated vector2 class