further work on UML diagram