also refactor pollers