Point2D update

Made the Point2D have return values so that they can be
used functionally.