Cleaned up SPI