redo inheritance in test classes so we can override things in unittest.TestCase as necessary
managing temp files better
fixed test from refactoring