good uml diag.