基本实现之前的功能