implemented progress and playhead (poorly)