some more implementation of the PWM