mostly works
added adc0 stuff