refactor model reader class