Restructured how to interface with the compiler