when executing template, macro now come from overridable method