             return DecryptorEngineV3(encryptionKey: encryptionKey, hmacKey: hmacKey, iv: iv, header: header)
         }
 
-        private func createEngineWithKeys(_ encryptionKey: Data, hmacKey: Data, header: Data) throws -> DecryptorEngineV3 {
+        private func makeEngine(encryptionKey: Data, hmacKey: Data, header: Data) throws -> DecryptorEngineV3 {
             precondition(header.count == V3.keyHeaderSize)
             precondition(encryptionKey.count == V3.keySize)
             precondition(hmacKey.count == V3.keySize)

                return Data()
            }

            let e = try createEngineWithCredential(credential, header: buffer.subdata(in: 0..<requiredHeaderSize))
            decryptorEngine = e
            let body = buffer.subdata(in: requiredHeaderSize..<buffer.count)
            buffer.count = 0

            }
        }

        private func makeEngine(credential: Credential, header: Data) throws -> DecryptorEngineV3 {
            switch credential {
            case let .password(password):
                return try makeEngine(password: password, header: header)
            case let .keys(encryptionKey, hmacKey):
                return try makeEngine(encryptionKey: encryptionKey, hmacKey: hmacKey, header: header)
            }
        }

        private func makeEngine(password: String, header: Data) throws -> DecryptorEngineV3 {
            assert(password != "")
            precondition(header.count == V3.passwordHeaderSize)

