added component exception and comments