Work on #258 ReadyToTest

This is a bunch of work that should go toward #258. It is not finished yet but here we go

# This is ready to test, not merge