refactor vvalue parser