Refactored reader.