add support for optional values and path checking for ConfigVariableString