semantic update