les for generation