implement redis version