clean up tmpfile confusion; laziness now works