Parallel!  Needs some refactoring, but this works.