add cache to computed properties