Refactor, using Compiler