implement light properties