add required_interface