light sources refactoring