         if recognizer.state == .Began {
             self.setPanStartPoint(location)
             
-            if let _contentScrollView = self.contentScrollView {
-                if _contentScrollView.contentOffset.y <= 0.0 {
-                    self.startGestureTransition()
-                }
+            if let c = self.contentScrollView where c.contentOffset.y <= 0.0 {
+                self.startGestureTransition()
             } else {
                 self.startGestureTransition()
             }
         } else if recognizer.state == .Changed {
             var bounds = CGRect.zero
-            switch (self.interactiveType) {
+            switch self.interactiveType {
             case .Push, .Present:
                 bounds = self.fromVC.view.bounds
             case .Pop, .Dismiss:

        if let _gestureTargetView = self.gestureTargetView {
            _gestureTargetView.addGestureRecognizer(self.gesture!)
        } else {
            switch (self.interactiveType) {
            case .Push, .Present:
                self.fromVC.view.addGestureRecognizer(self.gesture!)
            case .Pop, .Dismiss:

    }
    
    private func setPanStartPoint(location: CGPoint) {
        switch self.direction {
        case .Top, .Bottom:
            self.panLocationStart = location.y
        case .Left, .Right:
