Altered source code to more closely match new UML