optimize adc