new file based macro