complete fun without testing of LOOPS and the LED error state stuff