     
     public final func peripheralManager(_ peripheral: CBPeripheralManager, central: CBCentral, didSubscribeTo characteristic: CBCharacteristic) {
         if self.logLevel == .verbose { print("calling \(#function)") }
-        
-        self.updateLocalPeerData(self.localPeerData)
     }
     
     public final func peripheralManagerIsReady(toUpdateSubscribers peripheral: CBPeripheralManager) {
         if self.logLevel == .verbose { print("calling \(#function)") }
-        self.resumePendingServiceCharacteristicValueWriteOpperations()
+        self.peripheralManager.updateValue(self.localPeerData, for: self.serviceCharacteristic, onSubscribedCentrals: nil)
     }
 }
 

    public var logLevel: LogLevel = .none
    public var connectedPeers: [ClinkPeer] = []
    
    fileprivate var localPeerData: [String: Any] = [:]
    fileprivate var minRSSI = -40
    fileprivate var serviceCharacteristicValueWriteOpperationQueue: [ServiceCharacteristicValueWriteOpperation] = []
    

        if self.logLevel == .verbose { print("calling \(#function)") }
        
        q.async {
            self.localPeerData = NSKeyedArchiver.archivedData(withRootObject: data)
            let time = Date().timeIntervalSince1970
            let timeData = NSKeyedArchiver.archivedData(withRootObject: time)
            self.peripheralManager.updateValue(timeData, for: self.serviceCharacteristic, onSubscribedCentrals: nil)
        }
    }
}
