added redis as a DB and a bunch of changes