 	//
 	internal func handleLeftPanGesture(gesture: UIPanGestureRecognizer) {
 		if isRightContainerOpened { return }
-		if .Began == gesture.state {
-			if let vc = leftViewContainer {
-				if let c = leftContainer {
+		if let vc = leftViewContainer {
+			if let c = leftContainer {
+				if .Began == gesture.state {
 					leftViewController?.beginAppearanceTransition(!isLeftContainerOpened, animated: true)
 					addShadow(&leftViewContainer)
 					toggleWindow(shouldOpen: true)

					c.point = gesture.locationInView(view)
					c.frame = vc.frame
					delegate?.sideNavDidBeginLeftPan?(self, container: c)
				}
			}
		} else if .Changed == gesture.state {
			if let vc = leftViewContainer {
				if let c = leftContainer {
					c.point = gesture.translationInView(gesture.view!)
					let r = (vc.frame.origin.x - leftOriginX) / vc.frame.size.width
					let s: CGFloat = 1 - (1 - options.contentViewScale) * r

					backdropViewContainer?.layer.opacity = Float(r * options.contentViewOpacity)
					mainViewContainer?.transform = CGAffineTransformMakeScale(s, s)
					delegate?.sideNavDidChangeRightPan?(self, container: c)
				} else {
					c.point = gesture.velocityInView(gesture.view)
					let x: CGFloat = c.point.x <= -1000 || c.point.x >= 1000 ? c.point.x : 0
					c.state = vc.frame.origin.x >= CGFloat(floor(rightOriginX) - options.pointOfNoReturnWidth) || c.point.x >= 1000 ? .Closed : .Opened
