finished redis implementation