 
 public extension UIAlertController {
     
-    public static func nk_showAlertController(fromController controller: UIViewController, title: String?, message: String?, actions: [NKAlertAction], type: UIAlertControllerStyle = .Alert, handler: NKAlertControllerHandler, completion: (() -> Void)? = nil) -> UIAlertController {
+    public static func nk_showAlertController(fromController controller: UIViewController? = nk_topVisibleVisibleViewController, title: String?, message: String?, actions: [NKAlertAction], type: UIAlertControllerStyle = .Alert, handler: NKAlertControllerHandler, completion: (() -> Void)? = nil) -> UIAlertController {
         
         var alertActions = [UIAlertAction]()
         for (index, action) in actions.enumerate() {

                alertController.addAction(action)
            }
            
            controller.presentViewController(alertController, animated: true, completion: completion)
            return alertController
    }
    
    
}
        return self.nk_showAlertController(fromController: controller, title: title, message: message, actions: alertActions, type: type, completion: completion)
    }
    
    public static func nk_showAlertController(fromController controller: UIViewController? = nk_topVisibleVisibleViewController,
        title: String?,
        message: String?,
        actions: [UIAlertAction],
