added i2c with tests