added
more unique temp file name, clean up after self