       case .fadeInLeft:
         autoHideAnimation = .fadeOutRight
       case .fadeInRight:
-        autoHideAnimation = .fadeInLeft
+        autoHideAnimation = .fadeOutLeft
       case .zoomIn:
         autoHideAnimation = .zoomOut
       default:
         autoHideAnimation = .fadeOut
       }
-      hide(animation: autoHideAnimation, options: (duration: 0.5, delay: 0.2)) {
-        if completion != nil {
-          completion!()
-        }
-      }
+      delay(countdownFrom, closure: { 
+        hide(animation: autoHideAnimation, options: (duration: 0.4, delay: 0)) {
+          if completion != nil {
+            completion!()
+          }
+        }        
+      })
     } else {
       if completion != nil {
         completion!()

        }
      })
    case .fadeOutLeft:
      UIView.animate(withDuration: options.duration, delay: options.delay, usingSpringWithDamping: 0.8, initialSpringVelocity: 0.2, options: .curveEaseIn, animations: {
        self.alpha = 1
        self.center.x = view.center.x - self.bounds.width
      }, completion: { _ in
        if completion != nil {
          completion!()
        }
      })
    case .fadeOutRight:
      UIView.animate(withDuration: options.duration, delay: options.delay, usingSpringWithDamping: 0.8, initialSpringVelocity: 0.2, options: .curveEaseIn, animations: {
        self.alpha = 1
        self.center.x = view.center.x + self.bounds.width
      }, completion: { _ in
        if completion != nil {
          completion!()

    return self
  }
  
}

// Animations

extension CountdownView {
  
  // MARK: Animations
  
