the output dir is generated on the fly