prepare for touch controls and landscape generation
geometry refinements and reorganization
remove DPoint and replace it with PointF