make each memoized file uniq rather than tied to the functions toString result