for test framework