added threadpool to support async message processing