trying to roll my own zeromq