args were broken due to shift and other problems -1 didn't work because of the subshell output filtering didn't work with uniq. this was resolved by adding an unbuf function which uses stdbuf to fix buffering.
it still doesn't work for me but it's apparently very close on master