struct Light eliminated, logic redundancy handled