         
     }
     
+    struct rightPanState {
+        static var frameAtStartOfPan: CGRect = CGRectZero
+        static var startPointOfPan: CGPoint = CGPointZero
+        static var wasOpenAtStartOfPan: Bool = false
+        static var wasHiddenAtStartOfPan: Bool = false
+    }
+    
     func handleRightPanGesture(panGesture: UIPanGestureRecognizer) {
         
         if !self.isTagetViewController() {


class SlideMenuController: UIViewController, UIGestureRecognizerDelegate {

    var opacityView = UIView()
    var mainContainerView = UIView()
    var leftContainerView = UIView()

        // Please to override it if necessary
    }
    
    struct LeftPanState {
        static var frameAtStartOfPan: CGRect = CGRectZero
        static var startPointOfPan: CGPoint = CGPointZero
        static var wasOpenAtStartOfPan: Bool = false
        static var wasHiddenAtStartOfPan: Bool = false
    }
    
    func handleLeftPanGesture(panGesture: UIPanGestureRecognizer) {
        
        if !self.isTagetViewController() {
            return
