support for multi-way-if