                     self.delegate.deleteCache(in: zoneID)
                 case .token(let token):
                     print("token: \(token)")
-                    self.defaults.set(token, forKey: Cache.privateTokenKey)
+                    self.save(token: token, for: Cache.privateTokenKey)
                     self.processAndPurgeCachedZones(fetchCompletionHandler: completionHandler)
                 }
                 

        self.fetchZoneChanges(recordZoneIDs: recordZoneIDs, fetchCompletionHandler: completionHandler)
    }

}

    }

    public func fetchDatabaseChanges(fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
        let token = self.token(for: Cache.privateTokenKey)
        cloud.privateDB.rx.fetchChanges(previousServerChangeToken: token).subscribe { event in
            switch event {
            case .next(let zoneEvent):
