data reading updated