Further refactoring and class diagrams