add redis implemenation