new model generation method, much faster