done case1  case 2 case3