cs101.io: Console: Useful. others: only used by psets/stringTransformers cs101.lang: Animate (interface) is used by: AnimatorThread is used by: JavaEyes, calculator, stringTransformers cs101.util: AnimateObject is used by stringTransformers BS is used by PigLatin and GBS GBS is used by PNC Coerce is used by calculator, JavaEyes, Scribble - thin veener/crutch. avoids some messiness with wrapper types; is it worth it? Compile*,MultiClassLoader,JavaCompileManager: Formerly used by Spirograph. *Queue*: Adapt to java.util.Collections interface. StringHandler is used by lots of net stuff. DefaultStringHandler is vestigal. StringQueue is used by stringTransformers Initializable, Resettable, Startable, Stoppable, Pausable: cs101.awt: DefaultFrame: useful sugar. QueryDialog: also useful. (I wrote this?!?) One of these should go: ClientDialog: asks for port and host (for use *by* client) ServerDialog: asks for port (for use connecting *to* server) These should also be integrated with Mike Wessler's GameFinder (where's the source to that?) cs101.net: Client ClientWire Server ServerWire BabySitter ClientMonitor ClientTester and GroupServer GroupServerDemo GroupClient GroupClientWire GroupClientTester GroupWatcher latter should be implemented in terms of former, instead of duplicating all the code. In fact, cs101.awt.GroupDialog uses a Client against a GroupServer. GroupClient instantiates a GroupDialog. What's the intended use here? Move testing classes somewhere else (regression library?) SocketBroker: defunct? duplicates the ClientDialog goop. perhaps more applet-friendly.