重构项目，实现各种扩展元素