update code and doc