refactored reading page