The Address Book class uses quite a lot of classes from the java.util package; if you are not familiar with any of these, check the API documentation to fill in the gaps. Do you think the use of so many different utility classes is justified? Could a Hash Map have been used in place of the Tree Map? If you are not sure, try changing Tree Map to Hash Map and see if Hash Map offers all of the required functionality.