pull executor into Util
replace AsyncTask with Future