* abstract Light Model is added