have working with reflection and diffuse surfaces