almost completed uml class diagram for the core