add cases, remove rescue