#42 refactoring - lights & shaders