starting to try to abstract away the arduino core calls