send_byte and rcv_byte