added SPI, not working perfectly