update by HuGe