make DataReader static and avoid passing context to the DataReader all the way: