major improvements in soft pwm