file-by-file patching