                 {
                     xRadius *= sqrt(shouldBeNoMoreThanOne)
                     yRadius *= sqrt(shouldBeNoMoreThanOne)
+                    
+                    xRadius² = xRadius*xRadius
+                    yRadius² = yRadius*yRadius
                     
                     shouldBeNoMoreThanOne = translatedCurPointX²/(xRadius²)
                         + translatedCurPointY²/(yRadius²)

                        shouldBeNoMoreThanOne += 0.000001 // making sure
                        xRadius *= sqrt(shouldBeNoMoreThanOne)
                        yRadius *= sqrt(shouldBeNoMoreThanOne)
                    }
                }
                

            return false
        }
    }

    // following crashes the current Swift compiler
//    public convenience init?(svgPath: String)
//    {
//        self.init()
//        if !self.addSVGPath(svgPath: svgPath)
//        {
//            return nil 
//        }
//    }
}

extension CGPath
