used the python zeromq examples as a reference