Refactored Reader class.