ADC refactor