receive and transmit