further improved interrupt forwarding code