add basic recording functionality