add poller module and its test (not passed yet)
add cdef cache
passes first poller test