         view.addSubview(blurredView)
         view.addSubview(scrollView)
         scrollView.addSubview(imageView)
+        view.addSubview(closeBtn)
         
         blurredView.edgesToSuperView()
         scrollView.edgesToSuperView()
         imageView.edgesToSuperView()
         imageView.setRelativeWidth(to: view)
         imageView.setRelativeHeight(to: view)
+        closeBtn.topMargin(to: view, by: 16)
+        closeBtn.right(to: view, by: 16)
+        
+        if #available(iOS 13.0, *) {
+            
+        } else {
+            closeBtn.setWidth(30)
+            closeBtn.setHeight(30)
+        }
+    }
+    
+    @objc func closeBtnTouch(_ sender: UIButton) {
+        UIView.animate(withDuration: 0.2, delay: 0, options: .beginFromCurrentState, animations: {
+            if #available(iOS 13.0, *) {
+                self.imageView.transform = CGAffineTransform(translationX: 0, y: UIScreen.main.bounds.height)
+            } else {
+                self.imageView.layer.frame.origin = CGPoint(x: self.view.frame.origin.x, y: self.view.frame.size.height)
+            }
+        }) { (isCompleted) in
+            if isCompleted {
+                self.animator?.prepareForDismiss(from: self.imageView)
+                self.dismiss(animated: true, completion: nil)
+            }
+        }
     }
     
     /// If horizontal image then get max zoom by height, else by width

//MARK:
extension ImageViewerViewController: UIGestureRecognizerDelegate {
    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        if (gestureRecognizer is UIPanGestureRecognizer || gestureRecognizer is UIRotationGestureRecognizer) {
            return true
        } else {
            return false
        }
    }
}


                    if #available(iOS 13.0, *) {
                        self.imageView.transform = CGAffineTransform(translationX: 0, y: UIScreen.main.bounds.height)
                    } else {
                        self.imageView.layer.frame.origin = CGPoint(x: self.view.frame.origin.x, y: self.imageView.frame.size.height)
                    }
                }) { (isCompleted) in
                    if isCompleted {
