Complete UML Class diagram - changes will be made as needed of course.