     }
     
     private func getLargeArcLayer(color: UIColor, lineWidth: CGFloat) -> CAShapeLayer {
-        let radius = frame.size.height + lineWidth/2
+        let radius = bounds.size.height + lineWidth/2
         
-        let largeArcpath = UIBezierPath(arcCenter: CGPoint(x: 0, y: frame.maxY),
+        let largeArcpath = UIBezierPath(arcCenter: CGPoint(x: 0, y: bounds.maxY),
                                         radius: radius,
                                         startAngle:  .pi * (3 / 2) + asin((lineWidth/2) / (radius + (lineWidth/2))),
                                         endAngle: -asin((lineWidth/2) / (radius + (lineWidth/2))),

        largeArcLayer.path = largeArcpath.cgPath
        largeArcLayer.strokeColor = color.cgColor
        largeArcLayer.fillColor = UIColor.clear.cgColor
        largeArcLayer.lineWidth = frame.width/4
        largeArcLayer.lineCap = kCALineCapRound
        
        return largeArcLayer
    }
    
    private func getSmallArcLayer(color: UIColor, lineWidth: CGFloat) -> CAShapeLayer {
        let radius = frame.size.height/2 + lineWidth/2
        
        let smallArcpath = UIBezierPath(arcCenter: CGPoint(x: 0, y: frame.maxY),
                                        radius: radius,
                                        startAngle:  .pi * (3 / 2) + asin((lineWidth/2) / (radius + (lineWidth/2))),
                                        endAngle: -asin((lineWidth/2) / (radius + (lineWidth/2))),

        smallArcLayer.path = smallArcpath.cgPath
        smallArcLayer.strokeColor = color.cgColor
        smallArcLayer.fillColor = UIColor.clear.cgColor
        smallArcLayer.lineWidth = bounds.width/4
        smallArcLayer.lineCap = kCALineCapRound
        
        return smallArcLayer
