实现大致框架