added canmonitor class and polling function