tests for recurse(...)
rewrote recurse(...); not totally happy with it but it does fit on one screen now