简单实现版本