multiple files
macro expansion fun
provide program arguments