The first driver to be developed wil of course be the generic driver, unless we can pick up some drivers from vendors. All the dirvers will be in the package embosserdrivers. When something is to be embossed, a method in the DriverManager will be called with a String containing the name of the embosser and either a file or a byte stream. The latter will already have been translated and formatted. The DriverManager will call the driver for the appropriate embosser. Each driver will have a class of its own. John -- John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. http://www.abilitiessoft.com Madison, Wisconsin USA Developing software for people with disabilities