added rogue variables to StringVariableReplacement with fallback, and simplified