start of test framework