add unload event propagation