add model generation