turns out we needed recursive=true after all
...but actually do this whole thing differently