re-architect the paginator