added test case framework