component type component