modify BaseAsyncTask and add some util