exists is false by default