add one more test cases, fix a back referencing bug