updating code!
refactor to allow for different queue providers