Refactoring compiler