specular lighting now really works, it was completely incorrect before