changed @cached_property to @property