Same comments as above.  I think the structure is wrong, and we should be able to do this in parallel.