AsyncTask class implementation