todo: reduce a diff