implement the modbus protocol