updated MacroProcessor to use Tokens