transform long operation to AsyncTask