initial check-in of new spi code