Adding in ClassDiagram and refactoring