added possibility to define sub components