basic framework & first test case