Made the classes/interfaces more specific based on the latest UML design