 
 // MARK: DZNEmptyDataSet 
 extension AllStopsTableViewController: DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
-    func setUpActivityIndicator() {
-        activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)
-        if let activityIndicator = activityIndicator {
-            view.addSubview(activityIndicator)
-            activityIndicator.snp.makeConstraints { (make) in
+    func setUpLoadingIndicator() {
+        loadingIndicator = LoadingIndicator()
+        if let loadingIndicator = loadingIndicator {
+            view.addSubview(loadingIndicator)
+            print("added loading indicator")
+            loadingIndicator.snp.makeConstraints { (make) in
                 make.centerX.equalToSuperview()
                 make.centerY.equalToSuperview()
-            }
-        }
-    }
-
-    func image(forEmptyDataSet scrollView: UIScrollView!) -> UIImage! {
-        return activityIndicator != nil ? nil : #imageLiteral(resourceName: "emptyPin")
-    }
-
-    func description(forEmptyDataSet scrollView: UIScrollView!) -> NSAttributedString! {
-        if let _ = activityIndicator {
+                make.width.equalTo(40)
+                make.height.equalTo(40)
+            }
+        }
+    }
+
+    func image(forEmptyDataSet scrollView: UIScrollView) -> UIImage? {
+        return loadingIndicator != nil ? nil : #imageLiteral(resourceName: "emptyPin")
+    }
+
+    func description(forEmptyDataSet scrollView: UIScrollView) -> NSAttributedString? {
+        if loadingIndicator != nil {
             return nil
         }
         let title = "Couldn't Get Stops"

        return NSAttributedString(string: title, attributes: attrs)
    }

    func emptyDataSet(_ scrollView: UIScrollView!, didTap didTapButton: UIButton!) {
        setUpActivityIndicator()
        if let activityIndicator = activityIndicator {
            tableView.reloadData()
            activityIndicator.startAnimating()
        }
        retryNetwork { () -> Void in
            self.setUpTableOnRetry()
            if let activityIndicator = self.activityIndicator {
                activityIndicator.stopAnimating()
            }
        }
    }


    var unwindAllStopsTVCDelegate: UnwindAllStopsTVCDelegate?
    var height: CGFloat?
    var currentChar: Character?
    var loadingIndicator: LoadingIndicator?

    override func viewWillLayoutSubviews() {
        if let y = navigationController?.navigationBar.frame.maxY {
