优化底层逻辑，补充用例