diffusion-based approach