In the last two sections, we saw many of the reasons for OLE's Structured Storage as well as the general idea of a file system within a file, a hierarchy composed of storage objects (IStorage) and stream objects (IStream). Let's now explore these two interfaces to see the full extent of their capabilities.