     
     func fetchTopModels(language:String) {
         print("fetchTopModels language=\(language)")
-        guard let container = PersistenceController.shared[language]?.container else { return }
         // as? means "this might be nil"
-        guard let url = urls[language] as? URL else { return }
+        guard let url = urls[language] as? URL,
+              let container = PersistenceController.shared[language]?.container
+            else { return }
 
         URLSession.shared.dataTaskPublisher(for: url)
             .tryMap(handleOutput)

                        }

                        do {
                            // TODO select context depending on language
                            try backgroundContext.execute(batchInsert)
                        } catch {
                            let nsError = error as NSError

                    backgroundContext.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump
                    backgroundContext.automaticallyMergesChangesFromParent = true
                    backgroundContext.perform {

                        var index = 0
                        let batchInsert = NSBatchInsertRequest(
