Important change to use template dataReader to read the data