send and receive data(part)