Now with the perfect specular code added. Hopefully it'll work now...