fix case 2, case 4