new pagionation model for querying across the sytem this also now allows the use of a nice extension method to keep things a little more DRY