add exists interface