Adding asynchronous mode