moved out pages into a separate class