rewriting spi comm