 
     if let error = serializationError {
       println("GooglePlaces Error: \(error.localizedDescription)")
+      done(nil,error)
       return
     }
 
     if let status = json["status"] as? String {
       if status != "OK" {
         println("GooglePlaces API Error: \(status)")
+        let error = NSError(domain: ErrorDomain, code: 1002, userInfo: [NSLocalizedDescriptionKey:status])
+        done(nil,error)
         return
       }
     }
-
-    // Perform table updates on UI thread
-    dispatch_async(dispatch_get_main_queue(), {
-      UIApplication.sharedApplication().networkActivityIndicatorVisible = false
-
-      success(json)
-    })
-  }
-}
+    
+    done(json,nil)
+
+  }
+}

    self.placeType = placeType
  }
  
  public func getPlaces(searchString: String, completion:([Place] -> Void)) {
    var params = [
      "input": searchString,
      "types": placeType.description,

        "placeid": place.id,
        "key": place.apiKey ?? ""
      ]
    ) { json, error in
      result(PlaceDetails(json: json as! [String: AnyObject]))
    }
  }
