added initial implementation of message sender/receiver