adding support for diffing data