doesn't require Test::Exception