did a lot of work
Resolved merge.