Diff support (incomplete, to be overwritten)