before data update
after data update