several changes, minor bug fix, twi method handle more chips