add prototype of async call