final before update