@agorrod, here's a slightly different approach, what do you think?
(It's probably simplest to compare it to develop, and not to the rec-split-fix branch.)