now uses diff instead of completely replacing IR