started writing compilation example, related compilation refactoring