specular not correct totally
merge