includes more test cases and reformat code