documents and reorganizes the compiler code