added transaction-safe data update #3