Add new code gen