add separete q and controller modules
make hiredis dependency optional