Should we be catching Throwable here?