added more classes from UML