         if self.sharedInstance.isShowing {
 
             dispatch_async(dispatch_get_main_queue()) {
+
+                self.sharedInstance.activityIndicator.transform = CGAffineTransformIdentity
+
                 UIView.animateWithDuration(0.2, delay: 0.0, options: UIViewAnimationOptions(0), animations: { () -> Void in
                     self.sharedInstance.activityIndicator.transform = CGAffineTransformMakeScale(0.0001, 0.0001)
+                    self.sharedInstance.activityIndicator.alpha = 0
 
                 }, completion: { (finished) -> Void in
                     self.sharedInstance.activityIndicator.removeFromSuperview()

                        self.sharedInstance.activityIndicator.center = self.sharedInstance.containerView.center
                        self.sharedInstance.activityIndicator.startAnimating()

                        self.sharedInstance.activityIndicator.transform = CGAffineTransformMakeScale(0.0001, 0.0001)
                        UIView.animateWithDuration(0.2, delay: 0.0, options: UIViewAnimationOptions(0), animations: { () -> Void in
                            self.sharedInstance.activityIndicator.transform = CGAffineTransformMakeScale(1.0, 1.0)

                        }, completion: { (finished) -> Void in
                            self.sharedInstance.activityIndicator.transform = CGAffineTransformIdentity

                            let dismissTimer = NSTimer.scheduledTimerWithTimeInterval(10, target: self, selector: "forcedHideActivityIndicator", userInfo: nil, repeats: false)
                        })
                    })
            }

    static let sharedInstance = YepHUD()

    var isShowing = false
    var dismissTimer: NSTimer?

    lazy var containerView: UIView = {
        let view = UIView()
