don't use mktemp -- it's just not portable