Refactored reading