         travelTimeLabel.sizeToFit()
     }
 
-    private func setLiveElements(withLateness isLate: Bool, withLateTime lateTime: Date?) {
-        if isLate {
-            liveImageView.tintColor = .liveRedColor
-            liveLabel.textColor = .liveRedColor
-            liveLabel.text = "Late"
-            liveLabel.sizeToFit()
-
-            guard let lateTime = lateTime else {
-                print("RouteTableViewCell does not have late time to fill the live label with")
-                return
+    private func setLiveElements(withStartTime startTime: Date?, withDelay delay: Int?) {
+        if let delay = delay, let startTime = startTime {
+            if delay > 0 {
+                liveImageView.tintColor = .liveRedColor
+                liveLabel.textColor = .liveRedColor
+                liveLabel.text = "Late - \(Time.timeString(from: startTime.addingTimeInterval(TimeInterval(delay))))"
+                liveLabel.sizeToFit()
             }
-
-            liveLabel.text = "Late - \(Time.timeString(from: lateTime))"
-            liveLabel.sizeToFit()
-        } else {
-            liveImageView.tintColor = .liveGreenColor
-            liveLabel.textColor = .liveGreenColor
-            liveLabel.text = "On Time"
-            liveLabel.sizeToFit()
+            else {
+                liveImageView.tintColor = .liveGreenColor
+                liveLabel.textColor = .liveGreenColor
+                liveLabel.text = "On Time"
+                liveLabel.sizeToFit()
+            }
+        }
+        else {
+            // make live elements invisible
+            liveImageView.tintColor = .white
+            liveLabel.textColor = .white
         }
     }
 

        routeDiagram.removeFromSuperview()
        cellSeperator.removeFromSuperview()
        bottomBorder.removeFromSuperview()
    }

    // MARK: Set Data

    func setData(_ route: Route){
        let isLate: Bool = true
        let lateTime: Date? = nil

        setTravelTime(withDepartureTime: route.departureTime, withArrivalTime: route.arrivalTime, withWalkingRoute: route.isWalkingRoute())
        setLiveElements(withLateness: isLate, withLateTime: lateTime)
        setDepartureTime(withTime: route.departureTime, withWalkingRoute: route.isWalkingRoute())

        routeDiagram.setData(withDirections: route.directions, withTravelDistance: route.travelDistance, withWalkingRoute: route.isWalkingRoute())
    }

    private func setTravelTime(withDepartureTime departureTime: Date, withArrivalTime arrivalTime: Date, withWalkingRoute isWalkingRoute: Bool){


        positionTravelTime()
        positionLiveElementsVertically(usingTravelTime: travelTimeLabel)
        positionDepartureTimeVertically(usingTravelTime: travelTimeLabel)
        positionArrowVertically(usingDepartureTime: departureTimeLabel)
        positionTopBorder()
