Using take() instead of poll()