refactored paginator.