some changes by shengda