A bunch of changes, mostly revolving around using the external GPIO library