playback without hooks