     
     override public func drawRect(rect: CGRect) {        
         super.drawRect(rect)
+        
+        let largerRadius = fmax(_radius, _progressRadius)
 
-        let distanceBetweenCircles = (self.bounds.width - (CGFloat(numberOfPoints) * 2 * radius)) / CGFloat(numberOfPoints - 1)
-        
-        var xCursor: CGFloat = radius
+        let distanceBetweenCircles = (self.bounds.width - (CGFloat(numberOfPoints) * 2 * largerRadius)) / CGFloat(numberOfPoints - 1)
+        
+        var xCursor: CGFloat = largerRadius
         
         for _ in 0...(numberOfPoints - 1) {
-            centerPoints.append(CGPointMake(xCursor, radius))
-            xCursor += 2 * radius + distanceBetweenCircles
+            centerPoints.append(CGPointMake(xCursor, bounds.height / 2))
+            xCursor += 2 * largerRadius + distanceBetweenCircles
         }
         
         let progressCenterPoints = Array<CGPoint>(centerPoints[0..<(currentIndex+1)])
         
         if(!animationRendering) {
             
-            if let bgPath = shapePath(centerPoints, aRadius: radius, aLineHeight: _lineHeight) {
+            if let bgPath = shapePath(centerPoints, aRadius: _radius, aLineHeight: _lineHeight) {
                 backgroundLayer.path = bgPath.CGPath
                 backgroundLayer.fillColor = backgroundShapeColor.CGColor
             }

        }
    }
    
    @IBInspectable public var progressRadius: CGFloat = 0.0 {
        didSet {
            maskLayer.cornerRadius = progressRadius

    }
    
    public var delegate: ABSteppedProgressBarDelegate?
    
    private var backgroundLayer: CAShapeLayer = CAShapeLayer()
    private var progressLayer: CAShapeLayer = CAShapeLayer()
