first pass at SPI implementation.  Long way to go.