inital memoize module implementation