add adc logic