add key exist check