added pagination and some caching to searches