add gen template