implemented queue listener