make tempUnit take a directory, and create + defer removal of that directory in the calling function?