implement simple message queue