initial add key value pair implementation