adding back in spi funcationality