Refactor reader