COMPILER: refactoring