added uml-diagram