it maintains the collection of all item names existing in an inventory, where each item is uniquely identified by a name. returns a new object, with three methods: add(name) - the string name parameter is passed, and it is added to the collection. it is guaranteed that at any time, if an item is in the collection, then no other item with the same name will be added to the collection.