Refactor request reader