 
 private extension CustomButton {
     
-    func arrangeSpinner() {
+    func setupViews() {
         addSubview(spinner)
         spinner.translatesAutoresizingMaskIntoConstraints = false
         spinner.centerXAnchor.constraint(equalTo: centerXAnchor).isActive = true
         spinner.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
         spinner.stopAnimating()
+        
+        layer.addSublayer(progressLayer)
+        progressLayer.fillColor = UIColor.clear.cgColor
+        progressLayer.strokeStart = 0.0
+        progressLayer.strokeEnd = 0.0
+        progressLayer.strokeColor = progressColor.cgColor
     }
     
 }

    override open func layoutSubviews() {
        super.layoutSubviews()
        applyCircularStyleIfNeeded()
    }
    
    open override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {

        }
    }
    
    @IBInspectable open var progressColorName: String? {
        didSet {
            guard let color = UIColor(named: progressColorName) else { return }
            progressColor = color
        }
    }
    
    @IBInspectable open var fontName: String? {
        didSet {
            applyFontName()
        }
    }
    
    @IBInspectable open var progress: Double = 0.0 {
        didSet {
            progressLayer.strokeEnd = CGFloat(progress)
        }
    }
    
    @IBInspectable open var progressColor: UIColor = #colorLiteral(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0)  {
        didSet {
            progressLayer.strokeColor = progressColor.cgColor
        }
    }
    
