runtime search implemented using async task