Reader refactoring