polling

@MitchK this is the second part. I have also removed a lot of things to simplify a bit.