Starting breakout into app package
Move compiler around
Refactor finish up pt1