Brad, I understand the points you made. It's true that having the DL keep track of selected nodes will mean more communication through the UI2DL socket, resulting in slower performance. But I think we need to have ONE clear and simple rule about deciding which function is handled by the UI and which is handled by the DL: Whatever is common amongst all UI's should be handled by the DL. Whatever is unique to a UI should be handled by the UI. Selection of nodes is something ALL UI's will have to do. This means the code and system for doing this will have to be duplicated for EACH UI, and even in DIFFERENT LANGUAGES in some cases. Gee, it seems you and I are always arguing "code reuse" vs. "code duplication" ;-) Cheers. Jeff -- +----------------------------------+ | J.W. Bizzaro | | | | http://bioinformatics.org/~jeff/ | | | | BIOINFORMATICS.ORG | | The Open Lab | | | | http://bioinformatics.org/ | +----------------------------------+