add component_cast