"working" version for i2c