     }
     
     // MARK: - Table view data source
-    
-    func numberOfSections(in tableView: UITableView) -> Int {
-        return 2
-    }
-    
-    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
-        if section == 0 {
-            return "kanji to learn"
-        } else {
-            return "learned kanji"
-        }
-    }
-    
-    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
-        let view = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.size.width, height: 25))
-        let label = UILabel(frame: CGRect(x: 10, y: 0, width: tableView.frame.size.width, height: 25))
-        label.font = UIFont.systemFont(ofSize: 18)
-        label.textColor = .black
-        label.text = self.tableView(tableView, titleForHeaderInSection: section)
-        view.addSubview(label)
-        view.backgroundColor = .ryokuchaLight
-        view.autoresizingMask = []
-        return view
-    }
-    
-    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
-        return 25
-    }
-    
+
     func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
         if indexPath.row == 0 {
-            if indexPath.section == 0 && studyEntries.value.count > 0 {
+            if viewModel.studyEntries.value.count > 0 {
                 return 0
-            } else if indexPath.section == 1 && learnedEntries.value.count > 0 {
-                return 0
             }
         }
         return 70
     }
     
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        if section == 0 {
-            return studyEntries.value.count + 1
-        } else {
-            return learnedEntries.value.count + 1
-        }
+        return viewModel.studyEntries.value.count + 1
     }
     
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
         
         if indexPath.row == 0 {
-            return indexPath.section == 0 ? emptyStudyCell : emptyLearnedCell
+            return emptyStudyCell
         }
         
         let idx = indexPath.row - 1

        tableView.register(nib, forCellReuseIdentifier: studyCellId)
        
        emptyStudyCell = createEmptyCell(text: "no kanji to learn")
        emptyLearnedCell = createEmptyCell(text: "no learned kanji")
        
        if traitCollection.forceTouchCapability == .available {
            registerForPreviewing(with: self, sourceView: view)

        guard indexPath.row > 0,
            let entry = self.entry(forIndexPath: indexPath) else { return }
        
        let toLearned = !entry.learned
        let buttonTitle = toLearned ? "✅" : "❓"
        
        let cell = tableView.cellForRow(at: indexPath) as! StudyCell
