using through2 and rewrote tests