use marked_for_destruction and reject_if