component init work