add code gen module