         }
     }
     
-    func fetchServerChanges(previousToken: CKServerChangeToken!, completionHandler: ([CKRecord], [CKRecordID], CKServerChangeToken) -> Void) {
+    func fetchServerChanges(previousToken: CKServerChangeToken!, completionHandler: ([CKRecord], [CKRecordID], CKServerChangeToken!) -> Void) {
         var changed: [CKRecord] = [ ]
         var deleted: [CKRecordID] = [ ]
 

                
                self.fetchServerChanges(self.previousToken(), completionHandler: {
                    self.mergeServerChanges($0, deleteRecordIDs: $1)
                    self.setPreviousToken($2)
                    self.saveBackingContext()
                })
                

        ope.recordChangedBlock = { changed.append($0) }
        ope.recordWithIDWasDeletedBlock = { deleted.append($0) }
        ope.fetchRecordChangesCompletionBlock = { token, data, err in
            self.info("Server change: \( changed.count ) changed, \( deleted.count ) deleted \( err )")
            completionHandler(changed, deleted, token)
        }
        CKContainer.defaultContainer().privateCloudDatabase.addOperation(ope)
