     /// the progress indicators.
     private func updateLayerProgress() {
         let fromStroke = arcLayer.strokeEnd
-        let toStroke = min(progress, 1.0)
+        let toStroke = progress / numberRotations
         let fromAngle = oldAngle
 
         // Calcuate the rotation angle...

        ba.fromValue = fromAngle
        ba.toValue = toAngle
        ba.duration = angleRotationDuration(fromAngle, toAngle: toAngle)
        ba.cumulative = false
        ba.removedOnCompletion = true
        ba.fillMode = kCAFillModeBackwards

        return ba
    }

    /// radius, and lineWidth.
    private func circlePath() -> UIBezierPath {
        let topAngle: CGFloat = CGFloat(-M_PI_2)
        let endAngle: CGFloat = CGFloat(2 * M_PI) * numberRotations - CGFloat(M_PI_2)
        let path = UIBezierPath(arcCenter: circleCenter(), radius: circleRadius(), startAngle: topAngle, endAngle: endAngle, clockwise: true)
        
        return path
