async implementation
async send message