added clone()
changed Point to Point2 for clarity