dynamic registration of components