Added explanations on how the compiler works