With proper test cases