added diode backend functionality