The gpr must not be touched in the Exit functions as they are maybe conditional. So just allocate everything here manually.