expose AddVariable, modified existing refactoring to use Sprinter