wasteful memoize pattern is back