Optionally specify directory to hold files
Return full path to file