add poller module and its test (not passed yet)