cpp diffusion now with or without donut