     typealias Model = BusStop
     typealias CellType = BusStopCell
 
+
     public var viewModel: RouteDetailViewModel?
 
     @IBOutlet private weak var tableView: UITableView! {

        }
    }

    private var disposeBag = DisposeBag()

    override func viewDidLoad() {
        super.viewDidLoad()

        initialize(tableView: tableView)

        bindViewModel(tableView: tableView, driver: viewModel!.getBusStops())
            .addDisposableTo(disposeBag)

        viewModel?.routeId()
            .drive(rx.title)
            .addDisposableTo(disposeBag)

        tableView.rx.modelSelected(BusStop.self)
            .subscribe(onNext: { [weak self] in
                self?.performSegue(withIdentifier: "times", sender: $0)
            })
            .addDisposableTo(disposeBag)
    }


        vc?.viewModel = viewModel
    }

	@IBAction func segmentedControlValueChanged(_ sender: UISegmentedControl) {
		if sender.selectedSegmentIndex == 0 {
			add(viewController: mapViewController)
			remove(viewController: linesViewController)
		}
		else {
			add(viewController: linesViewController)
			remove(viewController: mapViewController)
		}
	}

	private func add(viewController: UIViewController) {
		addChildViewController(viewController)

		view.addSubview(viewController.view)

		viewController.view.translatesAutoresizingMaskIntoConstraints = false

		viewController.view.topAnchor.constraint(equalTo: self.toolbar.bottomAnchor).isActive = true
		viewController.view.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
		viewController.view.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
		viewController.view.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true

		viewController.didMove(toParentViewController: self)
	}

	private func remove(viewController: UIViewController) {
		viewController.willMove(toParentViewController: nil)

		viewController.view.removeFromSuperview()

		viewController.removeFromParentViewController()
	}

}
