Move Compiler to its own module and run it independently