support switch-case