优化代码，并再加一个接口，方便实现更多功能。