component class