         circlePath.append(tickPath)
         
         shapeLayer.path = circlePath.cgPath
-        shapeLayer.strokeColor = UIColor.green.cgColor
+        shapeLayer.strokeColor = shapeColor.cgColor
         shapeLayer.fillColor = UIColor.clear.cgColor
         shapeLayer.lineWidth = 2
         shapeLayer.strokeStart = 0.0

        circlePath.append(leftPath)
        
        shapeLayer.path = circlePath.cgPath
        shapeLayer.strokeColor = UIColor.red.cgColor
        shapeLayer.fillColor = UIColor.clear.cgColor
        shapeLayer.lineWidth = 2
        shapeLayer.strokeStart = 0.0

    }
}

public class FailureShapeView: UIView {
    
    var animationDuration: TimeInterval = 1.0
    private let shapeLayer = CAShapeLayer()
    private let shapeSize: CGSize
    private let shapeColor: UIColor
    
    public init(size: CGSize = CGSize(width: 37, height: 37), color: UIColor = .red) {
        shapeSize = size
        shapeColor = color
        super.init(frame: CGRect(origin: CGPoint.zero, size: size))
        
        setup()
    }
    
    required public init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override public var intrinsicContentSize: CGSize {
        return shapeSize
    }
    
    override public func didMoveToSuperview() {
        super.didMoveToSuperview()
        
        if self.superview != nil {
