                 
                 let uuid = BluetoothUUID(coreBluetooth: request.characteristic.uuid)
                 
-                let newBytes = request.value ?? Data()
-                
-                var newValue = value
-                let appendedByteCount = request.offset + newBytes.count - newValue.count
-                newValue.append(Data(count: appendedByteCount))
-                newValue.replaceSubrange(request.offset ..< request.offset + newBytes.count, with: newBytes)
+                let newValue = request.value ?? Data()
                 
                 let writeRequest = GATTWriteRequest(central: peer,
                                                         maximumUpdateValueLength: request.central.maximumUpdateValueLength,

                }
                
                // compute new data
                newValues[index] = newValue
                
                // did write callback
                didWrite?(writeRequest)
            }
            
            // write new values
            for (index, request) in requests.enumerated() {
                
                let newValue = newValues[index]
                
                database[data: request.characteristic] = newValue
            }
            
            internalManager.respond(to: requests[0], withResult: .success)

            
            assert(requests.isEmpty == false)
            
            var writeRequests = [GATTWriteRequest]()
            writeRequests.reserveCapacity(requests.count)
            
            // validate write requests
            for request in requests {
                
                let peer = Central(request.central)
                
