     private func addOverlay
         (
             overlayColorBackgroundColor : UIColor? = UIColor(white: 0, alpha: 0.3),
-            dismissAnimationDuration : NSTimeInterval = 0.3
+            dismissAnimationDuration : NSTimeInterval = 0.3,
+            tapToDismiss: Bool = true
         ) {
         
         self.view.toggleSubviewsUserInteractionEnabled(false)
         jOverlay = UIView(frame: self.view.frame)
         jOverlay.backgroundColor = UIColor.clearColor()
         jOverlay.userInteractionEnabled = true
-        let tap = UITapGestureRecognizer(target: self, action: #selector(dismissModalByOverlay))
-        jOverlay.addGestureRecognizer(tap)
+        if tapToDismiss {
+            let tap = UITapGestureRecognizer(target: self, action: #selector(dismissModalByOverlay))
+            jOverlay.addGestureRecognizer(tap)
+        }
         let window = UIApplication.sharedApplication().keyWindow
         window?.addSubview(jOverlay)
     }
     
-    @objc private func dismissModalByOverlay(recognizer : UITapGestureRecognizer) {
+    @objc private func dismissModalByOverlay(recognizer : UIGestureRecognizer) {
         dismissModal(jConfig.animationDuration)
     }
     

        ) {
        jConfig = config
        jModal = modalViewController
        let (startingRect, endingRect) = getTransitionCGRectsForTransitionStyle(self, modalViewController: modalViewController, transitionDirection: config.transitionDirection)
        jModalStartingRect = JRect(rect: startingRect)
        jModalEndingRect = JRect(rect: endingRect)
        addOverlay(dismissAnimationDuration: config.animationDuration, config.overlayBackgroundColor)
        modalViewController.view.frame = startingRect
        
        self.view.clipsToBounds = false
        let window = UIApplication.sharedApplication().keyWindow

            transform = CGAffineTransformScale(CGAffineTransformIdentity, transformPercentage, transformPercentage)
        }
        modalViewController.view.userInteractionEnabled = true
        modalViewController.view.layoutIfNeeded()
        UIView.animateWithDuration(config.animationDuration, delay: 0, options: config.animationOptions, animations: {
            self.jOverlay.backgroundColor = config.overlayBackgroundColor
            window?.addSubview(modalViewController.view)
            modalViewController.view.frame = endingRect
            if let t = transform {
                self.view.transform = t
