using through2 and rewrote tests
Merge pull request #23 from armed/master

using through2 and rewrote tests