adding cache
finalised smooth lighting