add vector2 struct