don't require redis (sort of)