implement unload for arbitrary ordering