added mailing list support, bunch of code improvements, and tests. still more work to do