     fileprivate var rightContainerOffset: CGVector!
     
     // setting them to NO disables swiping to the view controller, try it!
-    open var shouldshowTopViewController = true
+    open var shouldShowTopViewController = true
     open var shouldShowBottomViewController = true
     open var shouldShowLeftViewController = true
-    open var shouldShowRightviewController = true
+    open var shouldShowRightViewController = true
+    open var shouldShowCenterViewController = true
     
     fileprivate let swipeAnimateDuration = 0.2
     

                // show container according to state OR if it's already showing through some other means (eg. button, etc)
                let isCurrentlyShowingRightViewController = currentXOffset.constant < centerContainerOffset.dx
                let isCurrentlyShowingLeftViewController = currentXOffset.constant > centerContainerOffset.dx
                let minX = isCurrentlyShowingRightViewController || shouldShowRightviewController ? rightContainerOffset.dx : centerContainerOffset.dx
                let maxX = isCurrentlyShowingLeftViewController || shouldShowLeftViewController ? leftContainerOffset.dx : centerContainerOffset.dx
                
                currentXOffset.constant = min(max(minX, currentXOffset.constant + translationInMainView.x), maxX)
                
            case .vertical:
                // restraint accordingly to state
                // show container according to state OR if it's already showing through some other means (eg. button, etc)
                let isCurrentlyShowingBottomViewController = currentYOffset.constant < centerContainerOffset.dy
                let isCurrentlyShowingTopViewController = currentYOffset.constant > centerContainerOffset.dy
                let minY = isCurrentlyShowingBottomViewController || shouldShowBottomViewController ? bottomContainerOffset.dy : centerContainerOffset.dy
                let maxY = isCurrentlyShowingTopViewController || shouldshowTopViewController ? topContainerOffset.dy : centerContainerOffset.dy
                
                currentYOffset.constant = min(max(minY, currentYOffset.constant + translationInMainView.y), maxY)
            }
            
            // reset translation for next iteration

    // Append embedded view to container view's view hierachy
    open var topViewController: UIViewController? {
        willSet(newValue) {
            self.shouldShowTopViewController = newValue != nil
            guard let viewController = newValue else {
                return
            }
