moved generative model to approach