changes to class diagram, more detailed and more consistent with the code so far