         }
     }
 
-    public func show(with completion:((AlertView) -> Swift.Void)?) {
+    public func show(_ completion:((AlertView) -> Swift.Void)? = nil) {
         UIApplication.shared.keyWindow?.addSubview(self)
         alignToParent(with: 0)
         addSubview(backgroundView)

        var offScreenCenter = popupView.center

        velocityX = velocityX >= 0 ?
            (velocityX < constants.minVelocity ? constants.minVelocity : velocityX) :
            (velocityX > -constants.minVelocity ? -constants.minVelocity : velocityX)

        velocityY = velocityY >= 0 ?
            (velocityY < constants.minVelocity ? constants.minVelocity : velocityY) :


    func popupMoved(recognizer: UIPanGestureRecognizer) {
        let location = recognizer.location(in: backgroundView)
        UIView.animate(withDuration: 0, animations: {
            self.popupView.center = location
        })

        if recognizer.state == .ended {
            let location = recognizer.location(in: backgroundView)
            let origin = CGPoint(x: backgroundView.center.x - popupViewInitialFrame.size.width/2,
                                 y: backgroundView.center.y - popupViewInitialFrame.size.height/2)
            let velocity = recognizer.velocity(in: backgroundView)
            if !CGRect(origin: origin, size: popupViewInitialFrame.size).contains(location) ||
                (velocity.x > constants.activeVelocity || velocity.y > constants.activeVelocity) {
