implementing zmq for messaging