独立的一些小模块