Implement using AsyncTask instead of Thread