 
 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
     }
     
 }

        }
    }
    
    @IBInspectable open var fontName: String? {
        didSet {
            applyFontName()
        }
    }
    

    override open func layoutSubviews() {
        super.layoutSubviews()
        applyCircularStyleIfNeeded()
        
        progressLayer.path = UIBezierPath(ovalIn: bounds).cgPath
        let rotation = CATransform3DMakeRotation(-CGFloat.pi / 2, 0, 0, 1)
        let translate = CATransform3DMakeTranslation(0, bounds.height, 0)
        progressLayer.transform = CATransform3DConcat(rotation, translate)
        progressLayer.lineWidth = bounds.height
    }
    
    open override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
