added the ability to generate diffs