Refactor Reader