             self.nextStep()
 
         }
+    }
+
+    private func stopGeocodingActivityIndications() {
+        activityIndicator.stopAnimating()
+        view.alpha = 1.0
     }
 
     private func nextStep(){


    private func forwardGeocoding(address: String) {
        self.activityIndicator.startAnimating()

        CLGeocoder().geocodeAddressString(address) { (placemarks, error) in
            guard error == nil else {
                dispatch_async(dispatch_get_main_queue()){
                    self.showAlert("Geocoding failed")
                    self.activityIndicator.stopAnimating()
                }
                return
            }

            guard (placemarks?.count > 0) else {
                dispatch_async(dispatch_get_main_queue()){
                    self.showAlert("No placemarks found")
                    self.stopGeocodingActivityIndications()
                }
                return
            }

            dispatch_async(dispatch_get_main_queue()){
                self.stopGeocodingActivityIndications()
            }

            let placemark = placemarks?[0]
