all testcases working