Memoize

I think this really shouldn't be changed.