should we leverage some memoization scheme?