- refactoring  and adding UMLs