phase 1 compiles