refactor
add redis integration