added more detail to the code generation part