I would encourage everyone to have a look at the Booch Ada ADT definition. This set of components is already designed, the source is free, and many of the problems you're encountering have already been solved. You can see the documentation at: http://www.rivatech.com:80/booch/documentation.html Michael G.