making polling more efficient