add add test case and corresponding production code