separated into recording and playback modes