         let strokeEnd                   = CABasicAnimation(keyPath: "strokeEnd")
         strokeEnd.fromValue             = endFromValue
         strokeEnd.toValue               = endToValue
-        strokeEnd.duration              = duration
+        strokeEnd.duration              = duration - AfterpartDuration
         strokeEnd.fillMode              = kCAFillModeForwards
         strokeEnd.timingFunction        = easeInOutSineTimingFunc
         strokeEnd.removedOnCompletion   = false
         let pathAnim                 = CAAnimationGroup()
         pathAnim.animations          = [strokeEnd]
-        pathAnim.duration            = duration
+        pathAnim.duration            = duration - AfterpartDuration
         pathAnim.fillMode            = kCAFillModeForwards
         pathAnim.removedOnCompletion = false
         CATransaction.begin()

    private func startRotatingAnimation() {
        let rotation            = CABasicAnimation(keyPath: "transform.rotation.z")
        rotation.toValue        = M_PI*6.0
        rotation.duration       = duration * 0.77
        rotation.cumulative     = true
        rotation.additive       = true
        rotation.removedOnCompletion = false

        drawPathAnimation.toValue = 1.0
        drawPathAnimation.fillMode = kCAFillModeForwards
        drawPathAnimation.removedOnCompletion = false
        drawPathAnimation.duration = AfterpartDuration
        checkmarkShapeLayer.addAnimation(drawPathAnimation, forKey: "strokeEnd")
    }
    
