Refactored read class