 
     // MARK: - Private - Body Part Encoding
 
-    private func encodeBodyPart(_ bodyPart: BodyPart) throws -> Data {
+    private func encode(_ bodyPart: BodyPart) throws -> Data {
         var encoded = Data()
 
         let initialData = bodyPart.hasInitialBoundary ? initialBoundaryData() : encapsulatedBoundaryData()
         encoded.append(initialData)
 
-        let headerData = encodeHeaderData(for: bodyPart)
+        let headerData = encodeHeaders(for: bodyPart)
         encoded.append(headerData)
 
-        let bodyStreamData = try encodeBodyStreamData(for: bodyPart)
+        let bodyStreamData = try encodeBodyStream(for: bodyPart)
         encoded.append(bodyStreamData)
 
         if bodyPart.hasFinalBoundary {

        return encoded as Data
    }

    private func encodeHeaderData(for bodyPart: BodyPart) -> Data {
        var headerText = ""

        for (key, value) in bodyPart.headers {

        bodyParts.last?.hasFinalBoundary = true

        for bodyPart in bodyParts {
            let encodedData = try encode(bodyPart)
            encoded.append(encodedData)
        }

