implementing update-component