use diffs instead of rows