reworking how network errors can be handled by the user