I think the driver interface and the classes which implement it should be in a package called org.brailleblaster.drivers The interface would be called driver.java Each class implementing it would be named for the embosser which it suppoorts, for example, Tiger.java Indexd.java Everest.java As I mentioned previously, the drivers should be written in Java or converted from other languages to avoid messing around with bindings. A manufacturer might chose to protect propritary information by supplying a driver compiled into a C or C++ library. In this case it woulod be desirable for the manufacturer to also supply the Java bindings and to incorporate the JNI portion of the bindings into the library containing the driver. Is it possible to put Java code containing proprietary information into a jar file which can be used by the Java compiler and the JRE but which the user cannot see inside? That would make it much easier to get Java drivers from manufacurers. John -- John J. Boyer; President, Chief Software Developer Abilitiessoft, Inc. http://www.abilitiessoft.com Madison, Wisconsin USA Developing software for people with disabilities