using OptoDigitalUtils v2