requires us to also know what the previous return signal is, so if XD is given a return code, it passes it through when finishing execution.
and fix typo