实现一些工具代码