update by haidong
update by haidong