starts refactoring 2D polygon code away from slicer