added a test framework