add datalog method