refactoring class names, fixed initialization of basic component to avoid manual work once a new component is created