[zhuao] finish most function