added DMux implementation