Re-implemented data reading.