TRec refactor