I had some difficulty finding out where to put everything, so I thought it might be helpful to summarize. [WJP] If your main program is called "foo.tcl", sdx will create a directory called "foo.vfs". Within "foo.vfs", there will be two entries: a file called "main.tcl", and the subdirectory "lib". Everything that you will want to add goes within the "lib" subdirectory. Initially, "lib" will contain one subdirectory, named "app-foo". Among other things, your original program "foo.tcl" will be found here. Packages Each package that you include goes in its own directory within lib. If, for example, you want to include the tdom package, you should copy the entire tdom package directory into "lib". At this point, "lib" will contain the two subdirectories: app-foo tdom Message catalogs Where to put message catalogs depends on where your program looks for them. The key is to observe that your main program is now located in "foo.vfs/lib/app-foo/foo.tcl". This is the location that [info script] will return. If your program follows the common convention of placing the message catalogs in a directory called "msgs" that is a sister of your main program, you could put your message catalogs in "foo.vfs/lib/app-foo/msgs". Encodings Starkits by default include only nine basic encodings. If you want to supply additional encodings, they should be placed in a subdirectory named "encoding" within any of the package directories that your program always loads. One such directory is the directory for the version of tcl that your program uses. Thus, a safe place to put your encoding files is "foo.vfs/lib/tcl8.4/encoding". Note that although "encodings" with an "s" might make more sense, the correct name for this directory is "encoding" with no plural "s".