added generic i2c stuff
fix merge conflict