fix a bunch more places where we were forcing and didn't want to be. Add tests which catch the additional areas we can now reach in the code