rough outline, wip
fix conflicts