add key function