doesn't try to clear things that it's already cleared