Take a different tack. Seems to sort of work.

Will need a good bit of testing.