once again reverts to just fataling if return_code != 0