first pass at message queue