why each instrument has a subclass • Because the Instrument class is generally generic, not a particular instrument, it's an abstract one, so we should give each instrument a subclass. • Each instrument has different properties, from which there are InstrumentSpec subclasses, so we need a specific characteristic of each instrument.