 
   private class func handleResponse(data: NSData!, response: NSHTTPURLResponse!, error: NSError!, success: NSDictionary -> ()) {
     if let error = error {
-      println("GooglePlaces Error: \(error.localizedDescription)")
+      print("GooglePlaces Error: \(error.localizedDescription)")
       return
     }
 
     if response == nil {
-      println("GooglePlaces Error: No response from API")
+      print("GooglePlaces Error: No response from API")
       return
     }
 
     if response.statusCode != 200 {
-      println("GooglePlaces Error: Invalid status code \(response.statusCode) from API")
+      print("GooglePlaces Error: Invalid status code \(response.statusCode) from API")
       return
     }
 
-    var serializationError: NSError?
-    var json: NSDictionary = NSJSONSerialization.JSONObjectWithData(
+    
+    do {
+    let json: NSDictionary = try NSJSONSerialization.JSONObjectWithData(
       data,
-      options: NSJSONReadingOptions.MutableContainers,
-      error: &serializationError
-      ) as! NSDictionary
-
-    if let error = serializationError {
-      println("GooglePlaces Error: \(error.localizedDescription)")
-      return
-    }
-
-    if let status = json["status"] as? String {
-      if status != "OK" {
-        println("GooglePlaces API Error: \(status)")
-        return
-      }
-    }
-
-    // Perform table updates on UI thread
-    dispatch_async(dispatch_get_main_queue(), {
-      UIApplication.sharedApplication().networkActivityIndicatorVisible = false
-
-      success(json)
-    })
-  }
-}
+      options: NSJSONReadingOptions.MutableContainers) as! NSDictionary
+        if let status = json["status"] as? String {
+            if status != "OK" {
+                print("GooglePlaces API Error: \(status)")
+                return
+            }
+        }
+        
+        // Perform table updates on UI thread
+        dispatch_async(dispatch_get_main_queue(), {
+            UIApplication.sharedApplication().networkActivityIndicatorVisible = false
+            
+            success(json)
+        })
+
+        
+    } catch {
+//            print("GooglePlaces Error: \(error.localizedDescription)")
+            return
+    }
+
+    }
+}

  }
}

public class PlaceDetails: Printable {
  public let name: String
  public let latitude: Double
  public let longitude: Double

  public var placeDelegate: GooglePlacesAutocompleteDelegate? {
    get { return gpaViewController.delegate }
    set { gpaViewController.delegate = newValue }
  }

  public convenience init(apiKey: String, placeType: PlaceType = .All) {
