                 }
                 
                 // compute new data
-                
                 newValues[index] = newValue
             }
             

            let coreService = service.toCoreBluetooth()
            
            let serviceHandle = newHandle()
            
            for (index, characteristic) in ((coreService.characteristics ?? []) as! [CBMutableCharacteristic]).enumerated()  {
                

                                                                 value: data)
            }
            
            return serviceHandle
        }
        
        func remove(service handle: UInt16) {
            
            let coreService = service(for: handle)
            
            // remove service
            services[coreService] = nil
            (coreService.characteristics as? [CBMutableCharacteristic])?.forEach { characteristics[$0] = nil }
            
            // remove characteristics
            while let index = characteristics.index(where: { $0.value.serviceHandle == handle }) {
