implement user variable parsing