Basic Reader Mode and refactor