Refactored recorder