protected void reCompute() {
        short a = inputPins[0].get();
        short b = inputPins[1].get();
        short c = inputPins[2].get();
        short d = inputPins[3].get();
        short e = inputPins[4].get();
        short f = inputPins[5].get();
        short g = inputPins[6].get();
        short h = inputPins[7].get();
        short sel = inputPins[8].get();
        short out = 0;

        switch (sel) {
            case 0: out = a; break;
            case 1: out = b; break;
            case 2: out = c; break;
            case 3: out = d; break;
            case 4: out = e; break;
            case 5: out = f; break;
            case 6: out = g; break;
            case 7: out = h; break;
        }

        outputPins[0].set(out);
    }