added component creation