         let operation = CKQueryOperation(query: query)
         
         operation.recordFetchedBlock = { (record: CKRecord?) in
-            
-            guard let rawData = record?.value(forKey: self.recordKey) as? Data,
-                let annoatations = rawData.toAnnoatations else { return }
-            completed(annoatations)
+//            NSKeyedUnarchiver.unarchiveObject(with: self) as? [CustomPointAnnotation]
+            let data = record?.value(forKey: self.recordKey) as? Data
+            if let annotations = data.map(NSKeyedUnarchiver.unarchiveObject) as? [CustomPointAnnotation] {
+                completed(annotations)
+            }
+//            guard let rawData = record?.value(forKey: self.recordKey) as? Data,
+//                let annoatations = rawData.toAnnoatations else { return }
+//            completed(annoatations)
         }
         
         operation.queryCompletionBlock = { (cursor, error) in
-            guard error == nil else {
-                print(error?.localizedDescription ?? "Error")
-                return
-            }
+            let _ = error.map { print($0.localizedDescription)  }
+            
             
             //TODO: - end todo
         }

    
    
    func query(completed: @escaping ([CKRecord]?, Error?) -> ()) {
        let query = CKQuery(recordType: recordType, predicate: NSPredicate(value: true))
        database.perform(query, inZoneWith: nil, completionHandler: completed)
    }
    

    
    func queryingBackupData() {
        NetworkActivityIndicatorManager.shared.networkOperationStarted()
        print("queryingBackupData")
        query { (records, error) in
            guard error == nil, let records = records else {
                print("cloud query error:", error!)
