fix recursive case