new test framework that actually works, tests need to be fleshed out