Fix playback, more refactor