fixed diffuse function. added examples.