 		let parameters = ["api_token" : token,
 		                  "id": projectID] as [String : Any]
 
-        let path = endpoint.appendingPathComponent("languages/list")
+		let path = endpoint.appendingPathComponent("languages/list")
 		let request = URLRequest.formPost(url: path, fields: parameters)
-		
+
 		responseProcessingDataTask(with: request, resultKey: "languages", completion: completion).resume()
 	}
-	
+
 	/// Expert project translations into a file. The URL to the file is provided in the completion handler and you need to download it.
 	/// - parameter projectID: The project identifier
 	/// - parameter languageCode: The language code to export

		let parameters = ["api_token" : token,
		                  "name": name] as [String : Any]

        let path = endpoint.appendingPathComponent("projects/add")
		let request = URLRequest.formPost(url: path, fields: parameters)
		
		// note: API is inconsistent, the new project's ID is part of the reponse returned
		
		responseProcessingDataTask(with: request, resultKey: "project", completion: completion).resume()
	}
	
	/// List languages of specific project
	/// - parameter projectID: The project identifier
	/// - parameter completion: The completion block receiving an array of dictionaries each describing a language of the project on POEditor.com if successful.

			throw WebServiceError.unexpectedResponse("Unexpected result type")
		}
	}

	/// Creates a data task which picks out the correct result from the JSON dictionary
	private func responseProcessingDataTask<T>(with request: URLRequest, resultKey: String, completion: WebServiceCompletionHandler<T>?)->URLSessionDataTask
	{
		return session.dataTaskReturningJSON(with: request) { (result) in

			do
			{
				switch result
				{
				case .success(let object):

					// we expect a dictionary as response
					guard let dictionary = object as? JSONDictionary else
					{
						throw WebServiceError.unexpectedResponse("JSON response is not a dictionary")
					}

					// the value at the given key needs to be the expected type
					let typedResult: T = try self.processResultJSON(dictionary: dictionary, resultKey: resultKey)

					completion?(.success(typedResult))

				case .failure(let error):
					throw error
				}

			}
			catch let error
			{
