reduce diff