             stopUpdatingTime()
         }
         
+        // reset progress view without animation
+        progressView.progress = 0
+        progressView.layoutIfNeeded()
+        
         updateTimeLabel()
         timeTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in
             self.updateTimeLabel()

    
    private let transportViewHeight: CGFloat = 90
    private var timeTimer: Timer?
    
    private var addStingAfterIndex: Int?
    

    }
    
    func updateTimeLabel() {
        progressAnimator = UIViewPropertyAnimator(duration: 1, curve: .linear) {
            self.progressView.setProgress(Float((self.engine.elapsedTime + 1) / self.engine.totalTime), animated: true)
        }
        progressAnimator?.startAnimation()
        
        if let remainingString = engine.remainingTime.formattedAsRemaining() {
            timeLabel.text = remainingString
        }
