variable duty cycle working