enumerable pagination: added methods to process enumerable collection by breaking it down into pages and processing one page at a time
updated version