added component additino function