can we catch throwable here instead?