Refactoring and fixing Reader Bug