working updates and light.cpp