     return p1.x == p2.x && p1.y == p2.y
 }
 
-func isEqual(p1: CGPoint, p2: CGPoint, withPrecision precision:CGFloat) -> Bool
+public func isEqual(p1: CGPoint, p2: CGPoint, withPrecision precision:CGFloat) -> Bool
 {
     return distanceFrom(p1, to:p2) < abs(precision)
 }

    }
}

func rotate(point p1:CGPoint, radians: CGFloat, around p2:CGPoint) -> CGPoint
{
    let sinTheta = sin(radians)
    let cosTheta = cos(radians)


extension CGPoint: Equatable
{
    public func isEqualTo(point: CGPoint, withPrecision precision:CGFloat) -> Bool
    {
        return  distanceTo(point) < abs(precision)
    }
