async task listener