move to standardized error handling

Just taking the opportunity to remove 'fail' and replace it to 'report_and_raise' so that errors are properly logged and reported.