work on cleaning up the SPI class