better variable parsing
merge