added some class documentation