updating to catch throwable