make _diff correct for 2way binding