added doc folder and some class documentation
changes to get rid of clang warnings