 }
 
 private extension GearRefreshControl {
+    func setupRefreshControl() {
+
+        refreshContainerView = UIView(frame: self.bounds)
+        refreshContainerView.backgroundColor = UIColor(red:0.13, green:0.29, blue:0.55, alpha:1)
+
+        overlayView = UIView(frame: self.bounds)
+        overlayView.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.3)
+
+        shadowView = ShadowView(frame: self.bounds)
+        shadowView.shadowPercentage = 0.2
+
+        centerGear = MainGear(frame: CGRectMake(0, 0, 48, 48))
+        centerGear.backgroundColor = .clearColor()
+        centerGear.tintColor = UIColor(red:0.36, green:0.52, blue:0.92, alpha:1)
+        centerGear.center = CGPoint(x: CGRectGetMidX(self.refreshContainerView.frame), y: CGRectGetMidY(self.refreshContainerView.frame))
+
+        topGear = BigGear(frame: CGRectMake(0, 0, 92, 92))
+        topGear.backgroundColor = UIColor.clearColor()
+        topGear.tintColor = UIColor(red:0.31, green:0.47, blue:0.84, alpha:1)
+        topGear.center = CGPoint(x: CGRectGetMidX(self.refreshContainerView.frame) + 48, y: CGRectGetMidY(self.refreshContainerView.frame) - 49)
+
+        rightGear = BigGear(frame: CGRectMake(0, 0, 92, 92))
+        rightGear.backgroundColor = UIColor.clearColor()
+        rightGear.tintColor = UIColor(red:0.23, green:0.41, blue:0.76, alpha:1)
+        rightGear.center = CGPoint(x: CGRectGetMidX(self.refreshContainerView.frame) + 120, y: CGRectGetMidY(self.refreshContainerView.frame))
+
+        bottomGear = BigGear(frame: CGRectMake(0, 0, 88, 88))
+        bottomGear.backgroundColor = UIColor.clearColor()
+        bottomGear.tintColor = UIColor(red:0.31, green:0.47, blue:0.84, alpha:1)
+        bottomGear.center = CGPoint(x: CGRectGetMidX(self.refreshContainerView.frame) - 48, y: CGRectGetMidY(self.refreshContainerView.frame) + 42)
+
+        leftGear = BigGear(frame: CGRectMake(0, 0, 92, 92))
+        leftGear.backgroundColor = UIColor.clearColor()
+        leftGear.tintColor = UIColor(red:0.23, green:0.41, blue:0.76, alpha:1)
+        leftGear.center = CGPoint(x: CGRectGetMidX(self.refreshContainerView.frame) - 110, y: CGRectGetMidY(self.refreshContainerView.frame) - 18)
+
+        refreshContainerView.addSubview(self.topGear)
+        refreshContainerView.addSubview(self.rightGear)
+        refreshContainerView.addSubview(self.bottomGear)
+        refreshContainerView.addSubview(self.leftGear)
+        refreshContainerView.addSubview(self.centerGear)
+        refreshContainerView.addSubview(self.shadowView)
+        refreshContainerView.addSubview(self.overlayView)
+
+        refreshContainerView.clipsToBounds = true
+        tintColor = UIColor.clearColor()
+
+        addSubview(self.refreshContainerView)
+    }
+
     func animateRefreshView() {
         isRefreshControlAnimating = true
         

    /**
    Tells if the control is currently animating
    */
    var isRefreshControlAnimating = false

    private var refreshContainerView: UIView!
    private var overlayView: UIView!

    }

    /**
    Scroll update
    
    Updates the scroll status of the gears.
