added redis cache