add key-value pair feature