very flexible diff-like program
