 					}
 				) { _ in
 					self.isUserInteractionEnabled = false
-					self.rightViewController?.endAppearanceTransition()
 				}
 				c.state = .Opened
 				delegate?.sideNavDidOpenRightViewContainer?(self, container: c)
 			}
 		}
 	}
+    
+    /**
+    :name:	openRightViewContainer
+    */
+    public func openBottomViewContainer(velocity: CGFloat = 0) {
+        if let vc = bottomViewContainer {
+            if let c = bottomContainer {
+                prepareContainerToOpen(&bottomViewController, viewContainer: &bottomViewContainer, state: c.state)
+                UIView.animateWithDuration(Double(0 == velocity ? options.animationDuration : fmax(0.1, fmin(1, Double(fabs(vc.frame.origin.y - bottomOriginY) / velocity)))),
+                    delay: 0,
+                    options: .CurveEaseInOut,
+                    animations: { _ in
+                        vc.frame.origin.y = self.bottomOriginY - vc.frame.size.height
+                        self.backdropViewContainer?.layer.opacity = Float(options.contentViewOpacity)
+                        self.mainViewContainer?.transform = CGAffineTransformMakeScale(options.contentViewScale, options.contentViewScale)
+                    }
+                    ) { _ in
+                        self.isUserInteractionEnabled = false
+                }
+                c.state = .Opened
+                delegate?.sideNavDidOpenRightViewContainer?(self, container: c)
+            }
+        }
+    }
 	
 	/**
 		:name:	closeLeftViewContainer

        self.rightViewController = rightViewController
		prepareView()
		prepareRightView()
    }
	
	/**

		:name:	rightViewContainer
	*/
	public private(set) var rightViewContainer: UIView?
    
    /**
        :name:	bottomViewContainer
    */
    public private(set) var bottomViewContainer: UIView?
	
	/**
		:name:	leftContainer
