refactored to use TPL to transmit messages asynchronously