with updated test cases