updated backgroug thread to use Async task