any idea why we're using `begin` here rather than a lone `rescue` statement for the method?