作了一些优化