added a lot of components