working send/receive