Add comment, correct some mistakes. I think your idea is so good