merged common destroy procedure