Take a different tack, seems to work.

Needs quite a bit of cleanup work though. WIP.