add initial interface and test case