add light functions