     }
     
     func handleError(error : NSError!) {
+        println("got error")
         if (error != nil) {
             return
         }

    func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
        if let locale = CelluarLocationManager.getCountryLocaleByCelluar() {
            self.promise!.success(locale)
        } else {
            "Fallback failed"
            self.promise!.failure(error)

    }
    
    func handleLocation(placemarks: [AnyObject]) {
        println("handling location")
        if placemarks.isEmpty {
            println("Error with the data.")
        } else {
            let pm:CLPlacemark = placemarks.first as! CLPlacemark
            let locale:NSLocale = LocaleUtils.createLocaleFromCountryCode(pm.ISOcountryCode)
            
            if(promiseInProgress){
                self.promise!.success(locale)
                promiseInProgress = false
            }
            locationManager.stopUpdatingLocation()
        }
    }    

    func getUserCurrentLocale(withOverride:Bool) -> Future<NSLocale> {
        self.promise = Promise<NSLocale>()
        self.promiseInProgress = true

        if withOverride {
            if let override = self.returnOverridedGPSLocationIfSet() {
