         }
     }
     
-    public var rightDrawerWidth: CGFloat {
+    open var rightDrawerWidth: CGFloat {
         get {
             return drawerView.rightViewContainerWidth
         }

        currentlyOpenedSide = side
    }
    
    public func closeDrawer(side: KGDrawerSide, animated: Bool, complete: (finished: Bool) -> Void) {
        if (currentlyOpenedSide == side && currentlyOpenedSide != .None) {
            if let sideView = drawerView.viewContainerForDrawerSide(side) {
                let centerView = drawerView.centerViewContainer
                animator.dismissDrawer(side, drawerView: sideView, centerView: centerView, animated: animated, complete: complete)
                currentlyOpenedSide = .None
                restoreGestures()
                drawerView.willCloseDrawer(self)
            }
        }
    }
    
    public func toggleDrawer(side: KGDrawerSide, animated: Bool, complete: (finished: Bool) -> Void) {
        if side != .None {
            if side == currentlyOpenedSide {
                closeDrawer(side, animated: animated, complete: complete)
            } else {

        fatalError("init(coder:) has not been implemented")
    }
    
    override open func loadView() {
        view = drawerView
    }
    
    
    fileprivate var _drawerView: KGDrawerView?
    var drawerView: KGDrawerView {
        get {
            if let retVal = _drawerView {
                return retVal
            }
            let rect = UIScreen.main.bounds
            let retVal = KGDrawerView(frame: rect)
            _drawerView = retVal
            return retVal
