modify: Vector2 use template