updated read datalog