                          forKeyPath: "bounds",
                          options: NSKeyValueObservingOptions(rawValue: 0),
                          context: nil)
+        
+        // Setup Progress Indicator
+        
+        let progressDrag = UIPanGestureRecognizer(target:self,
+                                                  action: #selector(progressDragged(recognizer:)))
+        
+        progressIndicator = ABProgressIndicator(frame: CGRect(x: 0,
+                                                              y: -topBorderHeight,
+                                                              width: 10,
+                                                              height: self.frame.size.height + bottomBorderHeight + topBorderHeight))
+//        progressIndicator.isHidden = true
+        progressIndicator.addGestureRecognizer(progressDrag)
+        self.addSubview(progressIndicator)
     }
 
     public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {

        var position = positionFromValue(value: self.progressPercentage)
        position = position + translation.x
        
        print(position)
        
        if position < positionLimitStart{
            position = positionLimitStart
        }

        endIndicator.addGestureRecognizer(endDrag)
        self.addSubview(endIndicator)


        // Setup Top and bottom line
        
