instead of reading under the interrupt just note that we need to read and do it in the main loop - avoids interrups within ISR