add pagination protocol