another replacement of catalog.search()