 			}
 
 			let r = NSMutableURLRequest(URL: NSURL(string: expandedPath)!, cachePolicy: NSURLRequestCachePolicy.UseProtocolCachePolicy, timeoutInterval: NETWORK_TIMEOUT)
-			if authToken != nil { r.setValue("token " + authToken!, forHTTPHeaderField: "Authorization") }
+			if let a = fromServer.authToken {
+				r.setValue("token " + a, forHTTPHeaderField: "Authorization")
+			}
 
 			if let headers = extraHeaders {
 				for (key,value) in headers {

		urlSession = NSURLSession(configuration: config)

		if fileManager.fileExistsAtPath(cacheDirectory) {
			clearImageCache()
		} else {
			fileManager.createDirectoryAtPath(cacheDirectory, withIntermediateDirectories: true, attributes: nil, error: nil)
		}

		ignoreLastSync: Bool,
		parameters: [String : String]?,
		extraHeaders: [String : String]?,
		completion: (response: NSHTTPURLResponse?, data: AnyObject?, error: NSError?) -> Void) {

			let apiServerLabel: String
			if fromServer.syncIsGood || ignoreLastSync {
				apiServerLabel = fromServer.label ?? "(untitled server)"
			} else {
