serial protocol reworked