直接完成的实现