第二个版本，稍微增加了些修改~