depended destroy criterions