slightly improved
fail testcase 2