this diff is weird. what happened is `get_by_name` was split in half. the validation code above is untouched. the caching is below. the previous lookup functionality moved to `_get_by_name` also untouched