with thread message support