support switch statement