refactor
modify poller method