switch requires