The classes CellSheet and Cell can be used to implement a two dimensional spreadsheet. A new class(2DSpreadsheet) which would be a superclass of CellSheet would hold a number of CellSheets in an OrderedCollection. This means that the CellSheets could represent a row while the 2dspreadsheet represents a collection of rows, which could be used as a two dimensional array to implement a 2-D spreadsheet.

Moreover since the CellSheet holds an OrderedCollection of Objects(Cells) rather than value, it can be reused to hold a collection of any type of objects. This means that it can be used to hold a collection of records which an be used to implement a database.