returned top level error catching