return a copy of the filename, otherwise all files end up with the same name
add options
documentation for linker