Add SPI and javadoc