moved lighting to subclass for cleanness