             let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
             let base64LoginString = loginData.base64EncodedStringWithOptions([])
 
-            URLRequest.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
+            urlRequest.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
         }
-
-        let encoding = Alamofire.ParameterEncoding.URL
-        return encoding.encode(URLRequest, parameters: parameters).0
     }
 
 }

            includeObjects += it
        }

        objectTask.urlRequest = createRequest(
            T.resource,
            parameters: [
                "include": includeObjects
            ],
            method: .GET
        )

        objectTask.taskResultProvider.objectTransformer =


    }

    public func createResource<T: Mappable> (
        resourceObject: T,
        objectTask: ApiObjectTask<T>
    ) -> ApiObjectTask<T> {

        let body: String

        do {
            body = try Mapper<T>().createResourceJSON(resourceObject)
        } catch let error {
            print("Parsing Error: ")
            print(error)
            fatalError()
        }

        objectTask.urlRequest = createURLRequest(
            T.resource,
            body: body
        )

        objectTask.taskResultProvider.objectTransformer =
        { (data: [String : AnyObject]) -> ([T]?) in
            do {
                return try Mapper<T>().fromJSON(data)
            } catch let error {
                print("Parsing Error: ")
                print(error)
                return nil
            }
        }

        return objectTask
    }

    // MARK: private funcs

    private func fetchURLRequest(
        path: String,
        parameters: [String : String] = [String : String]()
    ) -> NSMutableURLRequest {

        let URL = NSURL(string: self.baseUrl)!
        let urlRequest = NSMutableURLRequest(URL: URL.URLByAppendingPathComponent(path))
        urlRequest.HTTPMethod = Alamofire.Method.GET.rawValue

        addHeaders(urlRequest)
        addCredentials(urlRequest)

        let encoding = Alamofire.ParameterEncoding.URL
        return encoding.encode(urlRequest, parameters: parameters).0
    }

    private func createURLRequest(
        path: String,
        body: String
    ) -> NSMutableURLRequest {

        let URL = NSURL(string: self.baseUrl)!
        let urlRequest = NSMutableURLRequest(URL: URL.URLByAppendingPathComponent(path))
        urlRequest.HTTPMethod = Alamofire.Method.POST.rawValue

        addHeaders(urlRequest)
        addCredentials(urlRequest)

        urlRequest.HTTPBody = body.dataUsingEncoding(NSUTF8StringEncoding)

        return urlRequest
    }

    // MARK: common private funcs

    private func addHeaders(urlRequest: NSMutableURLRequest) {
        urlRequest.setValue("application/vnd.api+json", forHTTPHeaderField: "Accept")
        urlRequest.setValue("application/vnd.api+json", forHTTPHeaderField: "Content-Type")
    }

    private func addCredentials(urlRequest: NSMutableURLRequest) {

        let email = self.userCredentials.email
        let password = self.userCredentials.password
