doesnt work correctly if length is null
fix tests
allow length=0
use through2 because through is broken
1.1.3