这是原来的版本，先把这个版本弄好再考虑分模块