define all the things at macro evaluation time