added initializer_list, interrupt support and watchdog