search w/ callback