added abstract class page reader