add callback function when error; add watch submodule