prevent unexpected deleting
remove undeletable elems when updating