more work on generative models