added force_memoize with tests and comments