component: update