refactor DiffFile