added checks for destroy

It'll need refactoring, but complete test passage. I can't figure out how to block edits though.