加入注释以及逻辑改版