         internalProfileViewControllerNavigationController.setNavigationBarHidden(true, animated: true)
         internalProfileViewControllerNavigationController.tabBarItem = UITabBarItem(title: "", image: #imageLiteral(resourceName: "profile_tab_bar_unselected").withRenderingMode(.alwaysOriginal), selectedImage: #imageLiteral(resourceName: "profile_tab_bar_selected").withRenderingMode(.alwaysOriginal))
 
-        let viewControllers: [UIViewController] = [
+        let viewControllers: [UINavigationController] = [
             feedViewControllerNavigationController,
             discoverViewControllerNavigationController,
             searchViewControllerNavigationController,

    var searchViewControllerNavigationController: UINavigationController!

    var accessoryViewController: TabBarAccessoryViewController?

    override func viewDidLoad() {
        view.backgroundColor = .offWhite

    func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
        if let navigationController = viewController as? UINavigationController,
            let visibleViewController = navigationController.topViewController as? ViewController,
            let scrollView = visibleViewController.mainScrollView,
            visibleViewController == previousViewController {
            // this is still buggy: issue with estimated row height
            let newOffset = CGPoint(x: 0, y: -1 * scrollView.adjustedContentInset.top)
            scrollView.setContentOffset(newOffset, animated: true)
            previousViewController = visibleViewController
        } else {
            previousViewController = (viewController as? UINavigationController)?.topViewController
        }
    }
}
