support more cases