also, why not just helper methods that memoize the variables?