simpler polling logic