recording and playback via UI