轻微重构，加上pwd模块