added functions from uml