components update