refactored reading simulator