updated SPI communication