add enable_if_component