新增一些function