内部私有函数