 private extension Player {
   
   private func jump(toIndex index: Int) {
+    var indexForPlay = index
+    if indexForPlay < 0 {
+      indexForPlay = itemsForPlay.count - 1
+    }
+    if indexForPlay >= itemsForPlay.count {
+      indexForPlay = 0
+    }
+
     refill()
-    for _ in 0..<index {
+    for _ in 0..<indexForPlay {
       player.advanceToNextItem()
     }
     player.play()
+    status.currentIndex = indexForPlay
     if let currentItem = player.currentItem {
       logger.playerDidStartPlayingItem(currentItem)
     }

        return
      }
      jump(toIndex: 0)   
    
    case .playNext:
      break

    case .playPrevious:
      break

    case .toggleShuffle:
      break

    case .jumpToItem(let index):
      break

    case .itemFinishedPlaying(let item):
      break
    }
  }
}

  private let player: AVQueuePlayer
  private let items: [AVPlayerItem]

  private class Status {
    var shuffledItems: [AVPlayerItem]? = nil
    var currentIndex: Int? = nil
  }
  private let status = Status()

  public init(path: String) {
    let audioFiles = FileManager.default().filteredMusicFileURLs(inDirectory: path)
