extract Page helper
Merge branch 'pagination'