still working on caching/storage logic for ratings