basic search and pagination impl