I have committed many changes after this pull request. Please review this and see if it still works and provide your opinions. If this doesn't work or if you have other ideas, please send me another pull request. If you see something wrong or you have questions, please leave comments here.
@brucefengnju
I have committed many changes after this pull request. Please review this and see if it still works and provide your opinions. If this doesn't work or if you have other ideas, please send me another pull request. If you see something wrong or you have questions, please leave comments here.