         assert(items.indices.contains(indexPath.row), "Item at indexPath \(indexPath) doesn't exist")
         return items[indexPath.row]
     }
+
+    // MARK: - Themeable
+
+    override public func apply(theme: Theme) {
+        super.apply(theme: theme)
+        view.backgroundColor = theme.colors.baseBackground
+        tableView.backgroundColor = theme.colors.baseBackground
+    }
 }
 
-extension SearchSettingsViewController: UITableViewDataSource {
-    public func numberOfSections(in tableView: UITableView) -> Int {
+extension SearchSettingsViewController {
+    override public func numberOfSections(in tableView: UITableView) -> Int {
         return sections.count
     }
 
-    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+    override public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
         let section = getSection(at: section)
         return section.items.count
     }
 
-    public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+    override public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
         guard let cell = tableView.dequeueReusableCell(withIdentifier: WMFSettingsTableViewCell.identifier, for: indexPath) as? WMFSettingsTableViewCell else {
             return UITableViewCell()
         }

        }
    }
}

extension SearchSettingsViewController: Themeable {
    public func apply(theme: Theme) {
        self.theme = theme
        guard viewIfLoaded != nil else {
            return
        }
        view.backgroundColor = theme.colors.baseBackground
        tableView.backgroundColor = theme.colors.baseBackground
    }
}

}

@objc(WMFSearchSettingsViewController)
final class SearchSettingsViewController: SubSettingsViewController {

    public override func viewDidLoad() {
        super.viewDidLoad()
        tableView.register(WMFSettingsTableViewCell.wmf_classNib(), forCellReuseIdentifier: WMFSettingsTableViewCell.identifier)
        title = CommonStrings.searchTitle
    }

    private lazy var sections: [Section] = {
