add control interface and modify test
add test