continue revising codegen.c