Adding class diagrams and small source code updates