add control
add more control cases