impl specular
trivial update