refactored Point2d out of project