Pull Request for Issue620

This is actually the problem I was talking about wanting to fix. This needs to be made event driven and threaded ... but right now that will require some refactoring.