added exists and exists_excl