All test case mostly working