rework of kvp parser