finished up iclusion of type extensions in the tpye chains and added
unit tests for all the factory classes