add a UMLeditor Refactory project, amend to object-oriented design