updated (fixed?) i2c interface so that it actually works with some peripherals