added light changing functionality