updates to allow catching errors to be easier