Uml update

UML (and small bugfix) update. Do not pull until after James' pull request goes through!