add some smart bind
update submodule