add pagination and caching in the search page