added start of spi implementation