add redis implemention