updated class diagrams and a few name refactorings.