simplified test framework