         let mobile = mobileNumberTextField.text
         let areaCode = areaCodeTextField.text
 
-        validateMobile(mobile, withAreaCode: areaCode, failureHandler: nil) { (available, message) in
+        YepHUD.showActivityIndicator()
+        
+        validateMobile(mobile, withAreaCode: areaCode, failureHandler: { (reason, errorMessage) in
+            defaultFailureHandler(reason, errorMessage)
+            
+            YepHUD.hideActivityIndicator()
+
+        }, completion: { (available, message) in
             if available, let nickname = YepUserDefaults.nickname.value {
                 println("ValidateMobile: available")
 
                 registerMobile(mobile, withAreaCode: areaCode, nickname: nickname, failureHandler: { (reason, errorMessage) in
                     defaultFailureHandler(reason, errorMessage)
+
+                    YepHUD.hideActivityIndicator()
 
                     if let errorMessage = errorMessage {
                         dispatch_async(dispatch_get_main_queue(), { () -> Void in

                    }

                }, completion: { created in
                    if created {
                        dispatch_async(dispatch_get_main_queue(), { () -> Void in
                            self.performSegueWithIdentifier("showRegisterVerifyMobile", sender: ["mobile" : mobile, "areaCode": areaCode])

            } else {
                println("ValidateMobile: \(message)")

                YepHUD.hideActivityIndicator()

                dispatch_async(dispatch_get_main_queue()) {

                    self.nextButton.enabled = false

                    YepAlert.alertSorry(message: message, inViewController: self, withDismissAction: { () -> Void in
                        mobileNumberTextField.becomeFirstResponder()
                    })
                }
            }
        })

    }

