more work on generative modeling