support for switch statements