make polling infinite. better error handling