     }
 }
 
-// MARK: DZN EmptyDataSet Delegate
-extension AllStopsTableViewController: DZNEmptyDataSetSource {
+// MARK: DZNEmptyDataSetSource, DZNEmptyDataSetDelegate
+extension AllStopsTableViewController: DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
+    
+    func setUpActivityIndicator() {
+        activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)
+        if let activityIndicator = activityIndicator {
+            view.addSubview(activityIndicator)
+            activityIndicator.snp.makeConstraints { (make) in
+                make.centerX.equalToSuperview()
+                make.centerY.equalToSuperview()
+            }
+        }
+    }
 
     func image(forEmptyDataSet scrollView: UIScrollView!) -> UIImage! {
         return #imageLiteral(resourceName: "emptyPin")
     }
 
     func description(forEmptyDataSet scrollView: UIScrollView!) -> NSAttributedString! {
-        let title = "Couldn't get stops 😟"
+        let title = "Couldn't Get Stops"
         let attrs = [NSAttributedString.Key.foregroundColor: UIColor.mediumGrayColor]
         return NSAttributedString(string: title, attributes: attrs)
     }
 
     func buttonTitle(forEmptyDataSet scrollView: UIScrollView!, for state: UIControl.State) -> NSAttributedString! {
-        if let _ = activityIndicator {
+        if activityIndicator != nil {
             return nil
         }
         let title = "Retry"

            completion()
        }, failure: { error in
            print("AllStopsTableViewController.retryNetwork error:", error)
        })
    }



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

