move queue-specific fns from util to queue
fix bug
implement redis pubsub