optimize create new component