refactored live polling