adding memoized_property