         case .fromBottom:
             initialFrame.origin.y = presentedFrame.size.height
         case .zoomIn(let scale):
-            break
+            controller.presentedViewController.view.transform = CGAffineTransform(scaleX: CGFloat(scale), y: CGFloat(scale))
         case .zoomOut(let scale):
-            break
+            controller.presentedViewController.view.transform = CGAffineTransform(scaleX: CGFloat(scale), y: CGFloat(scale))
         }
         
         let animationDuration = transitionDuration(using: transitionContext)
         controller.presentedViewController.view.frame = initialFrame
         UIView.animate(withDuration: animationDuration, animations: {
             controller.presentedViewController.view.frame = finalFrame
-            
-            
-            
+            controller.presentedViewController.view.transform = CGAffineTransform.identity
         }) { finished in
             transitionContext.completeTransition(finished)
         }

            
            
            kit.constraints.forEach({ (kitConstraint) in
                switch kitConstraint {
                case .center(x: let x, y: let y):
                    if let x = x {

                    }
                    
                    if let right = right {
                        popup.rightAnchor.constraint(equalTo: presentedViewController.view.rightAnchor, constant: -1 * CGFloat(right)).isActive = true
                    }
                    
                    if let top = top {
