allows specifying first field
add exists for type in index