restructured diffing fixes #16