Hanlin rewrite documentation and change some classes.