More refactor for recorder