Properly separated the send/receive functions