An Arduino Librabry written by Steven Cogswell, changed by me