add exist function