refactor playhead