[*] finish diff