made more uml-friendly