Light model implementation