modified ReadData