Generative Modeling with Diffusion