reorganize external submodule
add search interface