Refactoring, formatting fixes, removed underscore dependency
Compiler refactoring