     open func openMenu(completion: ((UIView) -> Void)? = nil) {
         if true == isUserInteractionEnabled {
             isUserInteractionEnabled = false
-            
-            if nil == blurView {
-                let blur = UIVisualEffectView(effect: UIBlurEffect(style: .light))
-                blurView = UIView()
-                blurView?.layout(blur).edges()
-                view.layout(blurView!).edges()
-                view.bringSubview(toFront: menu)
-            }
-            
-//            UIView.animate(withDuration: 0.15, animations: { [weak self] in
-//                guard let s = self else {
-//                    return
-//                }
-//                s.rootViewController.view.alpha = 0.15
-//            })
+            UIView.animate(withDuration: 0.15, animations: { [weak self] in
+                guard let s = self else {
+                    return
+                }
+                s.rootViewController.view.alpha = 0.15
+            })
             menu.open { [completion = completion] (view) in
                 completion?(view)
             }

import UIKit

extension UIViewController {
	/**
	A convenience property that provides access to the MenuController.
	This is the recommended method of accessing the MenuController
	through child UIViewControllers.
	*/
	public var menuController: MenuController? {
		var viewController: UIViewController? = self
		while nil != viewController {
			if viewController is MenuController {
				return viewController as? MenuController
			}
			viewController = viewController?.parent
		}
		return nil
	}
}

open class MenuController: RootController {
	open fileprivate(set) var blurView: UIView?
    
    /// Reference to the MenuView.
    @IBInspectable
    open let menu = Menu()
	
	open override func layoutSubviews() {
		super.layoutSubviews()
		rootViewController.view.frame = view.bounds
	}
	
	/**
     Prepares the view instance when intialized. When subclassing,
     it is recommended to override the prepare method
     to initialize property values and other setup operations.
     The super.prepare method should always be called immediately
     when subclassing.
     */
	open override func prepare() {
		super.prepare()
		prepareMenu()
	}
}

extension MenuController {

     */
    open func closeMenu(completion: ((UIView) -> Void)? = nil) {
        if false == isUserInteractionEnabled {
            UIView.animate(withDuration: 0.15, animations: { [weak self] in
                guard let s = self else {
                    return
                }
                s.rootViewController.view.alpha = 1
            })
            menu.close { [weak self] (view) in
                guard let s = self else {
                    return
