Diffusion Based Methods