merge case
add shell
improve code style