change KVPair struct