reorganizing the read class