improve diff
improve signature