sorry semi in-progress changes are here. The commit before this is working.
fixed merge conflict