restructured tests to allow for more types of tests