component unify