separated geometry code into GeometryHelpers
better elliptical arc generation