         for characteristic in characteristics {
             if characteristic.uuid == timeOfLastUpdateCharacteristic.uuid {
                 peripheral.setNotifyValue(true, for: characteristic)
-            } else if characteristic.uuid == serviceCharacteristic.uuid {
+            } else if characteristic.uuid == peerDataCharacteristic.uuid {
                 peripheral.readValue(for: characteristic)
             }
         }

        
        let service = CBMutableService(type: serviceId, primary: true)
        
        service.characteristics = [serviceCharacteristic, timeOfLastUpdateCharacteristic]
        
        self.ensure(peripheralManagerHasState: .poweredOn) { result in
            switch result {

        if characteristic.uuid == timeOfLastUpdateCharacteristic.uuid {
            guard
                let service = peripheral.services?.filter({ $0.uuid == self.serviceId }).first,
                let char = service.characteristics?.filter({ $0.uuid == self.peerDataCharacteristic.uuid }).first
            else {
                return
            }
            
            peripheral.readValue(for: char)
        } else if characteristic.uuid == peerDataCharacteristic.uuid {
            guard
                let data = characteristic.value,
                let dict = NSKeyedUnarchiver.unarchiveObject(with: data) as? [String: Any],
