         prepareBottomView()
         prepareRightView()
     }
-	
+
+    /**
+    :name:	init
+    */
+    public convenience init(mainViewController: UIViewController, bottomViewController: UIViewController, topViewController: UIViewController) {
+        self.init()
+        self.mainViewController = mainViewController
+        self.bottomViewController = bottomViewController
+        self.topViewController = topViewController
+        prepareView()
+        prepareBottomView()
+        prepareTopView()
+    }
+    
+    /**
+    :name:	init
+    */
+    public convenience init(mainViewController: UIViewController, rightViewController: UIViewController, topViewController: UIViewController) {
+        self.init()
+        self.mainViewController = mainViewController
+        self.rightViewController = rightViewController
+        self.topViewController = topViewController
+        prepareView()
+        prepareRightView()
+        prepareTopView()
+    }
+    
 	//
 	//	:name:	viewDidLoad
 	//

	}
    
    //
    //	:name:	handleRightPanGesture
    //
    internal func handleBottomPanGesture(gesture: UIPanGestureRecognizer) {
        if  isLeftContainerOpened || isRightContainerOpened { return }
        if .Began == gesture.state {
            if let vc = bottomViewContainer {
                if let c = bottomContainer {

	//	:name:	isRightPointContainedWithinRect
	//
    private func isRightPointContainedWithinRect(point: CGPoint) -> Bool {
        let r = CGRectMake(CGRectGetMaxX(view.bounds) - options.rightBezelWidth, 0.0, options.rightBezelWidth, view.bounds.size.height)
        return CGRectContainsPoint(r, point)
    }
    
