By the way, this is all for a (partially) open source project that I will put on the web asap. It's an application that connects directly to bank networks for processing credit card/ach transactions, and eliminates the need to use online payment processors such as authorizenet (which themselves are using applications just like this one) All of these direct processors have strict NDA's for their api's and require distribution in object code only. As soon as I can cleanly separate out the processor specific api implementations from the generic components I will be making it public. The processor specific stuff will be in shared libraries made with pyrex. I do have permission to let other developers see the entire source as long as they sign the same NDA, but I still haven't decided the best way to go about that.