shift library to work without SPI