always use poller, remove older code
write a proper module