Added hw 46 and implemented an I2C reset function