add new components, add more basic functionalities