换了个写法，简洁了不少