updated read for data