added component diagram