move reader to model