add memoize module