         
         // configure player item
         let playerItem = AVPlayerItem(url: backgroundUrl)
-        self.backgroundPlayer.replaceCurrentItem(with: playerItem)
-        self.backgroundPlayer.isMuted = true
-        self.backgroundPlayer.play()
+        backgroundPlayer.replaceCurrentItem(with: playerItem)
+        backgroundPlayer.isMuted = true
         
         // configures autoplay loop
         NotificationCenter.default.addObserver(forName: .AVPlayerItemDidPlayToEndTime, object: playerItem, queue: .main) { _ in

            return
        }
        
        coverImageView.startLoadingAnimation()
        
        controlView.lock(true, animated: true)
        
        // cancels auto hide
        controlView.show()
    }
    
    public func stoppedBuffering() {
        coverImageView.stopLoadingAnimation()
        
        controlView.lock(false, animated: true)
        

        
        // pause background
        backgroundPlayer.pause()
        
        // close Player
        dismiss(animated: true, completion: nil)
    }
    
    public func timedOut() {
