更新 sentinel 部分，大部分函数已经注释