完全重写代码，初始 1.0 版