     func drawBackCircle() {
         let path = UIBezierPath(
             arcCenter: circleCenter,
-            radius: radius,
+            radius: backgroundCircleRadius,
             startAngle: CGFloat(0),
             endAngle: CGFloat(M_PI * 2),
             clockwise: true)
         backCircleLayer.path = path.CGPath
-        backCircleLayer.strokeColor = backCircleColor.CGColor
-        backCircleLayer.opacity = layerOpacity
+        backCircleLayer.strokeColor = backgroundCircleColor.CGColor
         backCircleLayer.fillColor = nil
-        backCircleLayer.lineWidth = borderWidth
+        backCircleLayer.lineWidth = backgroundBorderWidth
         self.layer.addSublayer(backCircleLayer)
     }
     

        let endAngle = CGFloat(M_PI + M_PI_2)
        let path = UIBezierPath(
            arcCenter: circleCenter,
            radius: radius,
            startAngle: startAngle,
            endAngle: endAngle,
            clockwise: true)
        progressCircleLayer.path = path.CGPath
        progressCircleLayer.lineWidth = borderWidth
        progressCircleLayer.lineCap = kCALineCapRound
        progressCircleLayer.strokeColor = progressCircleColor.CGColor
        progressCircleLayer.fillColor = nil
        progressCircleLayer.strokeStart = 0.0
        progressCircleLayer.strokeEnd = currentProgress
        self.layer.addSublayer(progressCircleLayer)
    }
    
    func animate() {
        CATransaction.begin()
        let animation = CABasicAnimation(keyPath: "strokeEnd")
        animation.fromValue = currentProgress
        animation.toValue = progress
        animation.duration = NSTimeInterval(progress * 1.5)
        animation.delegate = self
        animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
        self.progressCircleLayer.strokeEnd = progress
        CATransaction.setCompletionBlock { [unowned self] in
            self.currentProgress = self.progress
        }
        self.progressCircleLayer.addAnimation(animation, forKey: "Progress")
        CATransaction.commit()
    }
}

    override func drawRect(rect: CGRect) {
        drawBackCircle()
        drawProgressCircle()
        progress = 0.8
    }
    
    override func layoutSubviews() {
