Absolutely masses of changes, and general restructure in order to get the SPI library to at least compile ;-)