implemented send/receive methods