removed composite, added mandatory getName function to components