pager abstraction for read/write from files by fixed size page. Code was copied and modified from this repository