I posted a variant of this for C&C a couple days ago. Here's a reworked version, which clarifies the relevant parts to a degree. C&C of course welcome, as always.