add soft pwm