component sync