add history & diff