decoding the received result should happen Inside the receive method, not elsewhere