Added "add" methods to each type that generates an object of the appropriate subclass.