better uml diag.