加入了一些注解，by tzz1002@gmail.com