WIP. Making progress, looks like the new approach will work.