added message queue for concurrency