added the rest of the components of the compiler