use async module to complete tasks