add obj code impl and output
update codegen.h