updated to catch consumer timeouts