smarter indexer
add pagination