reorganizing, making compilers responsible for determining output file names