add 基础部分