         return 0.0
     }
     
-    fileprivate func updateCurrentTimeLabelWithTime(time: TimeInterval) {
+    private func updateCurrentTimeLabelWithTime(time: TimeInterval) {
         self.currentTimeLabel.text = timecodeForTimeInterval(time: time)
     }
     
-    fileprivate func updateDurationLabelWithTime(time: TimeInterval) {
+    private func updateDurationLabelWithTime(time: TimeInterval) {
         self.durationLabel.text = "/\(timecodeForTimeInterval(time: time))"
     }
     
-    fileprivate func updateRemainingTimeLabelWithTime(time: TimeInterval) {
+    private func updateRemainingTimeLabelWithTime(time: TimeInterval) {
         self.remainingTimeLabel.text = timecodeForTimeInterval(time: time)
     }
     
-    fileprivate func timecodeForTimeInterval(time: TimeInterval) -> String {
+    private func timecodeForTimeInterval(time: TimeInterval) -> String {
         let sign = time < 0 ? "-" : ""
         var timeCode = ""
         let absTime = Int(abs(time))

        }
    }
    
    fileprivate func removeTimeObserver() {
        if timeObserver != nil {
            self.player.removeTimeObserver(timeObserver ?? self)
        }
        timeObserver = nil
    }
    
    fileprivate func nominalFrameRateForPlayer() -> Float {
        var track: AVAssetTrack? = nil
        if let tracks = self.player.currentItem?.asset.tracks(withMediaType: AVMediaTypeVideo) {
            if tracks.count != 0 {

        updateRemainingTimeLabelWithTime(time: duratoinInSeconds - secondsElapsed)
    }
    
    private func updatePlayer(playIfNeeded: Bool) {
        guard let currentItem = self.player.currentItem else {
            print("players current item is nil")
            return
