update AsyncTask and add listeners