add exists functions