manual cleanup for temp files, less indirection about exceptions