receive, buffer, send