removed switch do
modified switch type
add argument do
add function setting
add case setting in switch type