add data reading, finished