refactor operation transformer