changed I2C_write to wait on EV8 and I2C_read_nack() works correctly without sending extraneous byte before nack and stop condition