re-structure project, move all redis abstract code in one file