refactored lighting