add a macro example which treats external file as a source