minor change
make the tasks in callback functions async