added an async message consumer