Bug Fixed && add test case