add poller module and its tests